middleware_flutter_opentelemetry library

Classes

AlwaysOffSampler
A sampler that never samples any traces.
AlwaysOnSampler
A sampler that always samples every trace.
Attributes
A collection of attributes that are immutable and type-safe. Create with the OTelFactory methods.
AttributeSamplingCondition
A sampling condition that forces sampling when a span has a specific attribute value.
Baggage
Immutable Baggage that stores entries with unique string keys.
BaggageEntry
A single entry within Baggage. Typically just a value plus optional metadata.
BaseMetric
Base class for all metric types that includes required timestamp
BatchSpanProcessor
A SpanProcessor that batches spans before export.
CommonAttributeSpanProcessor
A span processor that injects common attributes into every span.
CompositeResourceDetector
Composite detector that combines multiple resource detectors.
CompositeSampler
A sampler that combines multiple samplers using a specified operation.
ConsoleExporter
A simple span exporter that prints spans to the console.
Context
Represents the immutable context containing active spans, baggage, and other data.
ContextKey<T>
Key for Context values Each instance is unique, even if created with the same name.
CountingSampler
A sampler that samples every Nth request. Optionally can be combined with conditions to override the count-based decision.
EnvVarResourceDetector
Detects resource information from environment variables.
ErrorMetric
ErrorSamplingCondition
A sampling condition that forces sampling when a span has an error status.
FlutterMetricReporter
FlutterOTel
Main entry point for Middleware Flutter OpenTelemetry SDK.
FlutterOTelMetrics
Extension methods for FlutterOTel related to metrics functionality. Note: These are not actual extensions but helper methods that should be added directly to the FlutterOTel class.
HostResourceDetector
Detects host-related resource information.
HttpInstrumentationConfig
Configuration for HTTP instrumentation
IdGenerator
Generates trace and span IDs according to the W3C Trace Context specification.
LayoutShiftMetric
Measurement<T extends num>
Represents a data point reported via the metrics API.
MetricCollector
MetricExporter
MetricExporter is responsible for sending metrics to a backend.
MetricReader
MetricReader is responsible for collecting metrics from a MeterProvider and passing them to a MetricExporter.
MetricsService
NamePatternSamplingCondition
A sampling condition that forces sampling when a span's name matches a pattern.
OTel
Main entry point for the OpenTelemetry SDK.
OTelDioInterceptor
Dio interceptor for automatic instrumentation
OTelGoRouterRedirect
A wrapper for a GoRouter redirect function that performs OTel instrumentation. Use it by wrapping your redirect:
OTelHttpClient
Instrumented HTTP client that wraps the standard http.Client
OTelInteractionTracker
Tracks user interactions with UI elements and creates spans automatically.
OTelLifecycleObserver
Observer for app lifecycle events. This is added to the application on FlutterOTel.initialize(). See the README for an explanation.
OTelLog
A simple log service that logs messages and signals to the console. It filters messages based on the current log level. Signals are not filtered based on log level Defaults to noop,
OTelMetricsBridge
Bridge class to connect FlutterMetricReporter metrics to OpenTelemetry metrics
OTelNavigatorObserver
Observer for route changes in Flutter navigation
OtlpGrpcExporterConfig
Configuration for the OtlpGrpcSpanExporter.
OtlpGrpcMetricExporter
OtlpGrpcMetricExporter exports metrics to the OpenTelemetry collector via gRPC.
OtlpGrpcMetricExporterConfig
Configuration for the OtlpGrpcMetricExporter.
OtlpGrpcSpanExporter
An OpenTelemetry span exporter that exports spans using OTLP over gRPC.
OtlpHttpExporterConfig
Configuration for the OpenTelemetry span exporter that exports spans using OTLP over HTTP/protobuf
OtlpHttpMetricExporter
An OpenTelemetry metric exporter that exports metrics using OTLP over HTTP/protobuf
OtlpHttpMetricExporterConfig
Configuration for the OpenTelemetry metric exporter that exports metrics using OTLP over HTTP/protobuf
OtlpHttpSpanExporter
An OpenTelemetry span exporter that exports spans using OTLP over HTTP/protobuf
PageLoadMetric
PaintMetric
ParentBasedSampler
A sampler that respects the parent span's sampling decision.
PerformanceMetric
PeriodicExportingMetricReader
PeriodicExportingMetricReader is a MetricReader that periodically collects metrics and exports them.
PlatformDetection
Helper class to detect platform-specific capabilities and configurations
PlatformResourceDetector
Factory for creating platform-appropriate resource detectors.
ProbabilitySampler
A sampler that randomly samples traces based on a probability.
ProcessResourceDetector
Detects process-related resource information.
RateLimitingSampler
A sampler that limits the number of sampled traces per time window.
Resource
Represents a resource, which captures identifying information about the entities for which signals (stats, traces, and logs) are reported.
ResourceDetector
Interface for resource detectors that automatically discover resource information.
Sampler
Interface for sampling decision logic.
SamplingCondition
Base class for sampling conditions that can be used with the CountingSampler to override its default behavior based on span properties.
SamplingResult
Result of a sampling decision.
Span
SDK implementation of the APISpan interface.
SpanContext
Immutable representation of a SpanContext. A SpanContext contains the state that must propagate to child Spans and across process boundaries. SpanContext follows the W3C Trace Context specification.
SpanEvent
Represents an event that occurred during a span's lifetime.
SpanExporter
A SpanExporter exports finished Spans.
SpanId
A span identifier - an 8-byte array with an ID in a base-16 hex format. Follows W3C Trace Context specification.
Represents a link between spans in potentially different traces.
SpanProcessor
Interface for span processors that handle span lifecycle events.
Timestamp
Utility class for working with OpenTelemetry timestamps.
TraceFlags
Trace flags for a SpanContext. These flags are used to control tracing behavior. TraceFlags follows the W3C Trace Context specification.
TraceId
A trace identifier - a 16-byte array with an ID in a base-16 hex format. TraceId follows the W3C Trace Context specification.
TraceIdRatioSampler
A sampler that samples traces based on a probability defined by the ratio of traces that should be sampled. The ratio must be in the range 0.0, 1.0.
Tracer
SDK implementation of the APITracer interface.
TracerProvider
SDK implementation of the APITracerProvider interface.
TraceState
Key-value pairs carried along with a span context. TraceState follows the W3C Trace Context specification.
UIMeter
UIMeter extends the standard Meter to provide UI-specific functionality for Flutter applications.
UIMeterCreate
Factory for creating UITracer instances
UIMeterProvider
UIMeterProvider extends the standard SDK MeterProvider to provide UI-specific functionality for Flutter applications.
UIMeterProviderCreate
Factory methods for creating UIMeterProvider instances.
UITracer
The main responsibility of the UITrace is to maintain span for and semantics
UITracerCreate
Factory for creating UITracer instances
UITracerProvider
UITracerProviderCreate
Factory for creating UITracer instances
UserInteractionMetric

Enums

AppInfoSemantics
RUM Semantics related to application information
BatterySemantics
ClientResource
Specification
CloudResource
Specification
ComputeInstanceResource
Specification
ComputeUnitResource
Specification
DatabaseResource
DeploymentResource
Specification
DeviceResource
Specification
DeviceSemantics
RUM Semantics related to device information
EnvironmentResource
Specification
ErrorResource
Specification
ErrorSemantics
RUM Semantics related to errors and crashes
ExceptionResource
FeatureFlagResource
OpenTelemetry Semantic Conventions - Feature Flag Attributes Specification
FileResource
OpenTelemetry Semantic Conventions - File Attributes Specification
GenAIResource
OpenTelemetry Semantic Conventions - GenAI Attributes Specification
GeneralResourceResource
GraphQLResource
HostResource
OpenTelemetry Semantic Conventions - Host Attributes Specification
HttpResource
InteractionType
KubernetesResource
Specification
LogLevel
The log levels supported by OTelLog.
MessagingResource
NetworkResource
OperatingSystemResource
Specification
ProcessResource
Specification
RPCResource
SamplingDecision
The possible decisions a sampler can make.
SamplingDecisionSource
Sources of sampling decisions.
ServiceResource
Specification
SourceCodeResource
Specification
SpanKind
Type of span. Can be used to specify additional relationships between spans in addition to a parent/child relationship.
SpanStatusCode
The set of canonical status codes.
TelemetryDistroResource
Specification
TelemetrySDKResource
Specification
UserSemantics
RUM Semantics related to user information
VersionResource
Specification

Extensions

AttributesExtension on Map<String, Object>
Extension to create Attributes from a simple Map
DioInstrumentation on Dio
Extension to easily instrument Dio instances
HttpClientInstrumentation on Client
Extension to easily instrument existing http clients
OTelTrackingExtensions on Widget
Extension to add OpenTelemetry tracking to common Flutter widgets
OTelWidgetExtension on Widget
Extension methods for Flutter widgets to simplify OpenTelemetry integration

Constants

frozenFrameThresholdMs → const int
slowFrameThresholdMs → const int

Typedefs

CommonAttributesFunction = Attributes Function()
ObservableCallback<T extends num> = void Function(APIObservableResult<T> result)
A callback function for observable instruments.