otel_command_it 0.3.0 copy "otel_command_it: ^0.3.0" to clipboard
otel_command_it: ^0.3.0 copied to clipboard

OpenTelemetry instrumentation for package:command_it (Thomas Burkhart's renamed flutter_command). Wraps each Command execution in a CLIENT-kind span with duration and failures.

Changelog #

0.3.0 - 2026-10-11 #

Changed #

  • Requires dartastic_opentelemetry_api >=1.0.0-rc.4 <1.0.0-rc.5.
  • Breaking: depends on dartastic_opentelemetry_api only, no longer on the SDK. The application chooses and initializes the OpenTelemetry SDK. Parameters and fields typed with SDK classes now use the API types (APITracer, APISpan, APILogger, ...); SDK instances are still accepted wherever an API type is expected.

0.2.0 - 2026-08-08 #

Changed #

  • Semantic conventions aligned with the current OTel registry: spans carry the registry error.type key on failures; command-specific keys (command.name, command.system, command.result) stay package-local because no registry convention for UI commands exists yet. No deprecated registry keys are emitted.
  • Dependency floors raised to dartastic_opentelemetry ^1.1.0-beta.12 and dartastic_opentelemetry_api ^1.0.0-rc.1. The previous floors declared compatibility with API versions that predate the semconv enums this package uses and could not actually resolve-and-compile.
  • repository URL corrected to the canonical Dartastic org casing so pub.dev repository verification succeeds.

Added #

  • Command.runTraced(param, spanName) — sync executor wrapped in a CLIENT-kind span. (Mirrors command_it 9.x's renamed run method; the old execute is deprecated upstream.)
  • Command.runAsyncTraced(param, spanName) — async executor wrapped in a span; awaits the future before closing.
  • Span shape: command_it <name> with command.name, command.system=command_it, command.result = success / error. Errors get error.type + recordException + Error status, then rethrow.
  • Local CommandItSemantics enum (implements OTelSemantic).
  • Zone-scoped suppression via runWithoutCommandItInstrumentation() / Async().
  • Six flutter_test tests instrumenting real Commands and asserting span shape via the SDK's package:dartastic_opentelemetry/testing.dart surface (no network).

Design notes #

  • command_it is the renamed flutter_command; the API is the same except execute → run and executeWithFuture → runAsync. If you're on the legacy package, see otel_flutter_command.
  • We instrument at the call site (extension methods on Command) rather than via the package's global hooks for the same reasons documented in otel_flutter_command — the global loggingHandler fires only at end of execution (can't measure duration) and the per-command results notifier filters no-op updates by == (sync void commands emit no event at all).
  • The async-throw path needs either a local error handler or a Command.globalExceptionHandler registered; otherwise runAsync rethrows synchronously and the future never completes. This is a property of command_it 9.x, not the wrapper.
0
likes
160
points
99
downloads

Documentation

API reference

Publisher

verified publisherdartastic.io

Weekly Downloads

OpenTelemetry instrumentation for package:command_it (Thomas Burkhart's renamed flutter_command). Wraps each Command execution in a CLIENT-kind span with duration and failures.

Homepage
Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

Dependencies

command_it, dartastic_opentelemetry_api, flutter

More

Packages that depend on otel_command_it