Releases: equinix-labs/otel-cli
v0.4.5
v0.4.5 - 2024-01-01
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.
Changed
- using latest deps for grpc, protobuf, and otel
- exec attributes will now go out with the span
- exec now sends process.command and process.command_args attributes
- main_test.go now supports regular expression tests on span data
v0.4.4
v0.4.3
[0.4.3] - 2024-03-11
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).
Added
otel-cli exec echo {{traceparent}}
is now supported to pass traceparent to child processotel-cli exec --tp-disable-inject
will disable this new default behavior
v0.4.2
Note
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.
Changelog
v0.4.1
Mostly small but impactful changes to otel-cli exec
.
Added
otel-cli exec --command-timeout 30s
provides a separate command timeout from the otel timeout- SIGINT is now caught and passed to the child process
- attributes can be set or overwrite on a backgrounded span via
otel-cli span end
Changed
- bumped several dependencies to the latest release
- updated README.md
Automated Changelog
- 7f2276f Bump golang.org/x/net from 0.12.0 to 0.17.0 (#283)
- b389235 Don't fail on err in exec (#259)
- 536cab8 Update README.md (#254)
- a0f460f add exec --command-timeout (#275)
- 7dd4c38 add tests for attrs at end of bg trace (#269)
- 3bbb923 allow setting attrs at the end of a backgrounded trace (#255)
- 8b4a194 chore(deps): update actions/checkout action to v4 (#260)
- 6b88a54 chore(deps): update actions/checkout digest to 8ade135 (#274)
- ccda334 fix timeouts (#276)
- 808ebb7 fix(deps): update google.golang.org/genproto/googleapis/rpc digest to 007df8e (#264)
- 94b33c9 fix(deps): update google.golang.org/genproto/googleapis/rpc digest to e6e6cda (#270)
- 2e5db52 fix(deps): update module github.com/pterm/pterm to v0.12.69 (#267)
- d71b5bd fix(deps): update module google.golang.org/grpc to v1.58.2 (#271)
- f5f79a4 fix(deps): update opentelemetry-go monorepo to v1.18.0 (#256)
- 7d6bcd4 fix: only consider partial if spans were rejected (#266)
- b3cf118 make exec forward interrupt signal to child process (#272)
- 5f2c343 release 0.4.1 (#285)
- da68217 return a clear error when http/protobuf server returns json (#263)
v0.4.0
[0.4.0] - 2022-08-09
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.
Added
--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
Changed
--otlp-blocking
is marked deprecated and no longer does anything- the OTLP client implementation is no longer using opentelemetry-collector
- traceparent code is now in a w3c/traceparent package
- otlpserver.CliEvent is removed entirely, preferring protobuf spans & events
Merged PRs
- 0cb7f5a add functionality for --force-parent-span-id (#241)
- 599d24c chore(deps): update jaegertracing/all-in-one docker tag to v1.46.0 (#216)
- b2e0ce4 cleanups 2023-06-29 (#243)
- 71b9cf1 custom OTLP client (#205)
- 32952e6 fill in some testing gaps, fix grpc headers (#232)
- 159cd1e fix(deps): update google.golang.org/genproto/googleapis/rpc digest to e449d1e (#230)
- bdbfcbb misc cleanups (#224)
- 25b3d51 move error tracking to context values, add multiple canaries to otel-cli status (#227)
- 9a19f5f refactor Config out of otlpclient (#245)
- 2e507f5 remove otlpserver.CliEvent (#221)
- f2ffe9c separate otlpclient code from CLI code (#223)
- 819cae9 separate w3c traceparent to its own package (#225)
- 5f1223a update CHANGELOG.md for release 0.4.0 (#251)
v0.3.0
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.
Changelog
- c75e2bf add --force-trace-id and --force-span-id options (#173) (#210)
- 295888d add a demo that shows how to work around span background races (#168)
- f6a0c8e add tests, fix exec end timestamp (#189) (#195)
- 0f61b87 allow setting status code and description at the end of background spans #197 (#201)
- 43f8dd9 chore(deps): update actions/setup-go action to v4 (#177)
- 9706378 chore(deps): update jaegertracing/all-in-one docker tag to v1.44.0 (#184)
- 3e7501a chore(deps): update otel/opentelemetry-collector docker tag to v0.76.1 (#187)
- 7565b2c create spans directly using protobuf structures (#175)
- 0218730 documentation updates (#215)
- e672421 feat(windows/exec): Spawn powershell to run Windows commands (#179)
- f47323e fix config for the otel error handler (#199)
- 2060787 fix endpoint paths and signal-specific behavior (#200) (#214)
- 6fa50fc fix(deps): update module github.com/pterm/pterm to v0.12.59 (#185)
- e0426f8 fix(deps): update module github.com/pterm/pterm to v0.12.60 (#204)
- b3e146d make exec arg handling precise (#191) (#202)
- 25c2241 spring cleaning (#198)
- 8f9f2f5 update dependencies (#211)
- fcc3825 work around otel reading envvars #181 (#208)
v0.2.0
v0.2.0
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.
Changelog
- 52f1143 #11 support OTEL_SERVICE_NAME per spec (#158)
- ed4bf2f Bump golang.org/x/net from 0.5.0 to 0.7.0 (#159)
- 5c5865c Make configurable skipping pid check in span background command (#161)
- 7214b64 Replace Jaeger instructions with otel-desktop-viewer (#162)
- 6018f76 TLS naming cleanup (#166)
- 9a7de86 add TLS testing and client certificate auth (#150)
- f9f43f9 chore(deps): update jaegertracing/all-in-one docker tag to v1.42.0 (#151)
- 76e1247 chore(deps): update otel/opentelemetry-collector docker tag to v0.71.0 (#156)
- 386dab9 fix(deps): update module google.golang.org/grpc to v1.53.0 (#154)
- 3cb4c14 fix(deps): update opentelemetry-go monorepo to v1.13.0 (#155)
- 759fbef miscellaneous documentation fixes (#165)
- f5286c0 never allow insecure automatically for https:// URIs (#149)
v0.1.0
Changelog
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.
- 4256644 #108 fix span background attrs (#116)
- e8b86f6 #142 follow spec for OTLP protocol (#148)
- efb5608 #42 add version subcommand (#114)
- 007f8f7 Add renovate.json (#123)
- 9d7a668 Make the service/name CLI short args match the long args (#110)
- b164427 add http testing (#143)
- 1bce2eb chore(deps): update actions/checkout action to v3 (#134)
- f48be8e chore(deps): update actions/setup-go action to v3 (#135)
- 3213f9f chore(deps): update jaegertracing/all-in-one docker tag to v1.41.0 (#127)
- 3ec8afa chore(deps): update otel/opentelemetry-collector docker tag to v0.69.0 (#128)
- df4a473 chore(deps): update otel/opentelemetry-collector docker tag to v0.70.0 (#139)
- 72df644 docs: --ignore-tp-env replace field to --tp-ignore-env (#147)
- e48e468 feat: add span status code/description cli and env var (#111)
- 9211107 fix(deps): update module github.com/google/go-cmp to v0.5.9 (#124)
- 149ce17 fix(deps): update module github.com/pkg/errors to v0.9.1 (#129)
- 4cbee08 fix(deps): update module github.com/pterm/pterm to v0.12.53 (#125)
- b53e11e fix(deps): update module github.com/spf13/cobra to v1.6.1 (#130)
- dd33e47 fix(deps): update opentelemetry-go monorepo to v1.12.0 (#146)
- ce850f4 make grpc server stop more robust (#122)
- 8eb37fb remove viper, fix tests, fix and expand envvars (#120)
- ff5a4eb update OTel to 1.4.1 (#107)
- b51d6fc update goreleaser config, add release procedure in README.md (#141)
- 99c9242 update opentelemetry SDK to 1.11.2 (#138)
v0.0.20
Changelog
- 07bd72f Add a --fail flag to hard fail a la curl (#95)
- e5643c8 Fix "missing 'Maintainer' field" on debian package (#96)
- 0c23988 Upgrade jaeger and otel collector images: (#104)
- 8488238 handle OTEL_EXPORTER_OTLP_TRACES and fix unix endpoints (#100)
- 86c6b24 reference correct span parameter name (#102)