OpenTelemetry command-line tool for sending events from shell scripts & similar environments
APACHE-2.0 License
Fix exec attributes, cleanups, and dependency updates.
otel-cli exec
attributes were broken for the last few releases so @tobert
felt it was ok to rename them to match the OTel semantic conventions
now.
Published by tobert 8 months ago
Published by tobert 8 months ago
Add injection of {{traceparent}}
to otel-cli exec
as default behavior, along with the otel-cli exec --tp-disable-inject
to turn it off (old behavior).
otel-cli exec echo {{traceparent}}
is now supported to pass traceparent to child processotel-cli exec --tp-disable-inject
will disable this new default behaviorPublished by tobert 8 months ago
The binary assets on GitHub for this release are the same as 0.4.3 due to a mistake. I felt it was better to have something under that tag than nothing.
Published by tobert about 1 year ago
Mostly small but impactful changes to otel-cli exec
.
otel-cli exec --command-timeout 30s
provides a separate command timeout from the otel timeoutotel-cli span end
Published by tobert about 1 year ago
This focus of this release is a brand-new OTLP client implementation. It has fewer features
than the opentelemetry-collector code, and allows for more fine-grained control over how
gRPC and HTTP are configured. Along the way, the otelcli
and otlpclient
packages went
through a couple refactors to organize code better in preparation for adding metrics and
logs, hopefully in 0.5.0.
--force-parent-span-id
allows forcing the span parent (thanks @domofactor!)otel-cli status
now includes a list of errors including retries that later succeeded--otlp-blocking
is marked deprecated and no longer does anythingPublished by tobert over 1 year ago
The most important change is that otel-cli exec
now treats arguments as an argv
list instead of munging them into a string. This shouldn't break anyone doing sensible
things, but could if folks were expecting the old sh -c
behavior.
Envvars are no longer deleted before calling exec. Actually, they still are, but otel-cli
backs up its envvars early so they can be propagated anyways.
The rest of the visible changes are incremental additions or fixes. As for the invisible,
otel-cli now generates span protobufs directly, and no longer goes through the
opentelemetry-go SDK. This ended up making some code cleaner, aside from some of the
protobuf-isms that show up.
A user has a use case for setting custom trace and span ids, so the --force-trace-id
and --force-span-id
options were added to span
, exec
, and other span-generating
subcommands.
Published by tobert over 1 year ago
The main addition in this version is client mTLS authentication support, which comes in with
extensive e2e tests for TLS settings.
--no-tls-verify
is deprecated in favor of --tls-no-verify
so all the TLS options are consistent.
otel-cli span background
now has a --background-skip-parent-pid-check
option for some use cases
where folks want otel-cli to keep running past its parent process.
Published by tobert over 1 year ago
Apologies for the very long delay between releases. There is a lot of pent-up change
in this release.
Bumped minor version to 0.1 because there are some changes in behavior around
endpoint URI handling and configuration. Also some inconsistencies in command line
arguments has been touched up, so some uses of single-letter flags and --ignore-tp-env
(renamed to `--tp-ignore-env to match other flags) might break.
Viper has been dropped in favor of directly loading configuration from json and
environment variables. It appears none of the Viper features ever worked in
otel-cli so it shouldn't be a big deal, but if you were using Viper configs they
won't work anymore and you'll have to switch to otel-cli's json config format.
Endpoints now conform mostly to the OTel spec, except for a couple cases
documented in the README.md.
Published by tobert over 2 years ago
Published by tobert almost 3 years ago
f324d97 Add OTEL_EXPORTER_OTLP_ENDPOINT config to example (#92)
3c5849c Add a second, more complex span exec test (#88)
79798b7 Add an otel-cli exec test & remove skip which was causing it to not be run by go test (#84)
bf628b5 add a test harness + test fixtures (#79)
29adc30 add support for OTLP/http (#93)
bbe3e8a fix exec --traceparent-ignore-env to do what it says on the tin (#85)
ffaa41a move test fixtures into go (#90)
c0f1f96 otlp/http should default to /v1/traces, according to the sp ec (#94)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.19
Published by tobert about 3 years ago
3ddb598 don't print on --tp-export (#77)
f4bbca3 only print errors with --verbose and always exit 0 (#76)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.18
Published by tobert about 3 years ago
141f78d remove log line that was breaking some tools I'm working on (#75)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.17
Published by tobert about 3 years ago
370bf80 add span background wait (#73)
6a3a880 make --tp-carrier file shell-compatible (#74)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.16
Published by tobert about 3 years ago
c9fac26 add status subcommand (#68)
44d2088 move config globals into a config struct (#69)
a744ece updated for unmarshal and map iterating viper env keys (#72)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.15
Published by tobert about 3 years ago
7d2709f Added basic subcommand completion (#64)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.14
Published by tobert about 3 years ago
0c65472 remove bare image templates (#62)
docker pull ghcr.io/equinix-labs/otel-cli:v0.0.13
Published by tobert about 3 years ago
bf14c79 add notes about fail-open behavior to README
a9dbdea remove default endpoint, stub initTracer()
2fbb1e0 rename short variable to be more readable
70c527e update help text for --timeout per code review
d75e962 use a single global timeout flag
Published by tobert about 3 years ago
980a370 Add Homebrew tap support via goreleaser (#48)
673be1b split server into package (#51)
Published by tobert about 3 years ago
980a370 Add Homebrew tap support via goreleaser (#48)
673be1b split server into package (#51)