| Copyright | (c) Ian Duncan 2024-2026 |
|---|---|
| License | BSD-3 |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
OpenTelemetry.Environment
Description
Helpers for reading OpenTelemetry environment variables that control exporter selection, metric export intervals, exemplar filters, and log exporter choice. Used by the SDK during provider initialization.
Synopsis
- lookupBooleanEnv :: String -> IO Bool
- readEnv :: Read a => String -> IO (Maybe a)
- readEnvDefault :: Read a => String -> a -> IO a
- readEnvDefaultWithAlias :: Read a => String -> String -> a -> IO a
- data MetricsExporterSelection
- lookupMetricsExporterSelection :: IO (Maybe MetricsExporterSelection)
- lookupMetricExportIntervalMillis :: IO (Maybe Int)
- lookupMetricExportTimeoutMillis :: IO (Maybe Int)
- data MetricsExemplarFilter
- lookupMetricsExemplarFilter :: IO (Maybe MetricsExemplarFilter)
- data LogsExporterSelection
- lookupLogsExporterSelection :: IO (Maybe LogsExporterSelection)
Documentation
readEnvDefault :: Read a => String -> a -> IO a Source #
Like readEnv but falls back to a default value if the variable is unset or unparseable.
readEnvDefaultWithAlias :: Read a => String -> String -> a -> IO a Source #
Like readEnvDefault but tries a primary key first, then a legacy alias.
Useful when an env var was renamed to maintain backwards compatibility.
data MetricsExporterSelection Source #
Parsed value of OTEL_METRICS_EXPORTER (first entry if comma-separated).
See https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#exporter-selection.
Constructors
| MetricsExporterNone | |
| MetricsExporterOtlp | |
| MetricsExporterPrometheus | |
| MetricsExporterConsole | |
| MetricsExporterCustom !String | A name not in the built-in set; looked up via the exporter registry. |
Instances
| Show MetricsExporterSelection Source # | |
Defined in OpenTelemetry.Environment Methods showsPrec :: Int -> MetricsExporterSelection -> ShowS # show :: MetricsExporterSelection -> String # showList :: [MetricsExporterSelection] -> ShowS # | |
| Eq MetricsExporterSelection Source # | |
Defined in OpenTelemetry.Environment Methods (==) :: MetricsExporterSelection -> MetricsExporterSelection -> Bool # (/=) :: MetricsExporterSelection -> MetricsExporterSelection -> Bool # | |
lookupMetricsExporterSelection :: IO (Maybe MetricsExporterSelection) Source #
Read OTEL_METRICS_EXPORTER. Unknown or empty values return Nothing (caller may default to OTLP).
lookupMetricExportIntervalMillis :: IO (Maybe Int) Source #
Read OTEL_METRIC_EXPORT_INTERVAL (milliseconds between periodic export cycles).
See https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/.
lookupMetricExportTimeoutMillis :: IO (Maybe Int) Source #
Read OTEL_METRIC_EXPORT_TIMEOUT (milliseconds allowed per export call).
See https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/.
data MetricsExemplarFilter Source #
Parsed OTEL_METRICS_EXEMPLAR_FILTER (when present).
Constructors
| MetricsExemplarFilterTraceBased | |
| MetricsExemplarFilterAlwaysOn | |
| MetricsExemplarFilterAlwaysOff |
Instances
| Show MetricsExemplarFilter Source # | |
Defined in OpenTelemetry.Environment Methods showsPrec :: Int -> MetricsExemplarFilter -> ShowS # show :: MetricsExemplarFilter -> String # showList :: [MetricsExemplarFilter] -> ShowS # | |
| Eq MetricsExemplarFilter Source # | |
Defined in OpenTelemetry.Environment Methods (==) :: MetricsExemplarFilter -> MetricsExemplarFilter -> Bool # (/=) :: MetricsExemplarFilter -> MetricsExemplarFilter -> Bool # | |
lookupMetricsExemplarFilter :: IO (Maybe MetricsExemplarFilter) Source #
Read OTEL_METRICS_EXEMPLAR_FILTER (first segment if comma-separated). Unknown values return Nothing.
data LogsExporterSelection Source #
Parsed value of OTEL_LOGS_EXPORTER (first entry if comma-separated).
See https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#exporter-selection.
Since: 0.4.0.0
Constructors
| LogsExporterNone | |
| LogsExporterOtlp | |
| LogsExporterConsole | |
| LogsExporterCustom !String | A name not in the built-in set; looked up via the exporter registry. |
Instances
| Show LogsExporterSelection Source # | |
Defined in OpenTelemetry.Environment Methods showsPrec :: Int -> LogsExporterSelection -> ShowS # show :: LogsExporterSelection -> String # showList :: [LogsExporterSelection] -> ShowS # | |
| Eq LogsExporterSelection Source # | |
Defined in OpenTelemetry.Environment Methods (==) :: LogsExporterSelection -> LogsExporterSelection -> Bool # (/=) :: LogsExporterSelection -> LogsExporterSelection -> Bool # | |
lookupLogsExporterSelection :: IO (Maybe LogsExporterSelection) Source #
Read OTEL_LOGS_EXPORTER. Empty values return Nothing (caller defaults to OTLP).
Unknown names are returned as LogsExporterCustom for registry lookup.