### 0.8.0.0
The version 0.7.0.0 was skipped to avoid confusion with `eventlog-live-otelcol-0.7.0.0`.
- Merge the executable `eventlog-live-otelcol` into this package as `eventlog-live-otlp`.
- Add support for OpenTelemetry Environment Variable Configuration:
The following SDK configuration options are supported:
https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#general-sdk-configuration
- `OTEL_RESOURCE_ATTRIBUTES`
- `OTEL_SERVICE_NAME`
- `OTEL_LOG_LEVEL`
- `OTEL_TRACES_EXPORTER`, `OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, and `OTEL_PROFILES_EXPORTER`
The following OTLP exporter configuration options are supported:
https://opentelemetry.io/docs/specs/otel/protocol/exporter/
- `OTEL_EXPORTER_OTLP_ENDPOINT`
- `OTEL_EXPORTER_OTLP_INSECURE`
- `OTEL_EXPORTER_OTLP_CERTIFICATE` (only by `grpc` protocol)
- `OTEL_EXPORTER_OTLP_CLIENT_KEY` (parsed but ignored)
- `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE` (parsed but ignored)
- `OTEL_EXPORTER_OTLP_HEADERS` (only by `http/protobuf` protocol)
- `OTEL_EXPORTER_OTLP_TIMEOUT` (parsed but ignored, support to be added in next version)
- `OTEL_EXPORTER_OTLP_PROTOCOL` (only `grpc` and `http/protobuf` protocols are supported)
All special-specific variants of the above environment variables are supported, e.g., `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`, `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`, `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`, and `OTEL_EXPORTER_OTLP_PROFILES_ENDPOINT` are all parsed and used.
The command-line arguments that controlled these options have been removed:
```
--service-name -> OTEL_SERVICE_NAME
--verbosity -> OTEL_LOG_LEVEL
--otlp-protocol -> OTEL_EXPORTER_OTLP_PROTOCOL
--otlp-endpoint -> OTEL_EXPORTER_OTLP_ENDPOINT
--otlp-grpc-certificate-store -> OTEL_EXPORTER_OTLP_CERTIFICATE
--otlp-http-headers -> OTEL_EXPORTER_OTLP_HEADERS
```
- The `--otlp-grpc-ssl-key-log` and `--otlp-grpc-ssl-key-log-from-env` options were removed.
Support for setting a gRPC SSL keylog was removed. If you relied on this, please open an issue.
- Support was added for _signal-specific exporters_, e.g., if you supply different values for `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` and `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` then traces and metrics are exported to different endpoints.
You can use signal-specific exporter selection to disable certain signals altogether, e.g., `OTEL_TRACES_EXPORTER=none` causes no traces to be exported.
### 0.6.0.0
- Add support for `ipedb` databases for IPE and cost-centre information.
- **BREAKING**: Refactor profiles processors.
- **BREAKING**: Use `InfoProv`, `CostCentre`, and `SrcLoc` types from `ipedb`.
### 0.5.0.0
- Overhaul documentation for `GHC.Eventlog.Live.Machine.Core`.
- **BREAKING**: Drop `counterBy` and `counterByTick`.
- **BREAKING**: Drop `batchListToTick` and `batchListToTicks`.
- **BREAKING**: Drop `batchToTick` and `batchToTicks`.
- **BREAKING**: Drop `aggregateByTick` and `aggregateByTicks`.
- **BREAKING**: Drop `liftBatch`.
- **BREAKING**: Rename `sortByBatchTick` to `sortByTick`.
- **BREAKING**: Change `batchByTick` and `batchByTicks` to preserve ticks.
- **BREAKING**: Generalise `sortByBatch`, `sortByTick`, and `validateOrder` to work on arbitrary keys.
- **BREAKING**: Rename `between` to `betweenFirst`.
- **BREAKING**: Generalise `betweenFirst` and `delimit` to work on arbitrary items.
- Add `betweenEach`.
- **BREAKING**: Change `liftRouter` to ignore inputs after the child process stops.
- Add `fanoutTick`.
- **BREAKING**: Add implicit `TickInfo` to each `Tick` via `HasTickInfo`.
- **BREAKING**: Change `onlyTick` to yield actual `Tick` values.
- **BREAKING**: Change interval argument for `runWithEventlogSource` and `sourceHandleBatch` to batch in milliseconds.
- **BREAKING**: Add `AttrBoot` to `AttrValue`.
- Add support for user messages and markers.
- **BREAKING**: Replace logging with `co-log-core` contravariant `LogAction`.
- Add support for concurrent `fanoutTickCC` and `mergeWithTickCC`.
- **BREAKING**: Rename `EventlogSource` to `EventlogSourceOptions`.
- **BREAKING**: Rename `GHC.Eventlog.Live.Socket` to `GHC.Eventlog.Live.Source`.
- Add `GHC.Eventlog.Live.Source.Core`.
- **BREAKING**: Move `EventlogSourceOptions` to `GHC.Eventlog.Live.Source.Core`.
- Add `EventlogSourceHandle`.
- **BREAKING**: Rename `runWithEventlogSource` to `runWithEventlogSourceOptions`.
- Add `withEventlogSourceHandle` and `runWithEventlogSourceHandle` to `GHC.Eventlog.Live.Source`.
- **BREAKING**: Rename `sourceHandleBatch` to `eventlogSourceTick`.
### 0.4.0.0
- Add parser for `--stats` flag (`statsParser`).
- Add support for aggregation:
- Add `aggregateByTick`.
- Add `GHC.Eventlog.Live.Machine.Group` module for aggregation.
- **BREAKING**: Change `processHeapProfSampleData` to yield all the metrics
from a single garbage collection pass at once as `HeapProfSampleData`.
- **BREAKING**: Replace `[Attr]` with opaque `Attrs` type.
- **BREAKING**: Log info to stderr with `--verbosity==debug`.
### 0.3.0.0
- **BREAKING**: Move capability usage analysis machines to their own module.
- **BREAKING**: Move heap analysis machines to their own module.
- **BREAKING**: Move thread label analysis machines to their own module.
- **BREAKING**: Move thread state analysis machines to their own module.
- **BREAKING**: Merge all sub-libraries into the main library.
- Expose `GHC.Eventlog.Live.Logger`.
### 0.2.0.1
- Fix error due to incorrect formatting string.
### 0.2.0.0
- Add `verbosityInfo` and `verbosityDebug`.
- Add `counterBy` and `counterByTick`.
- **BREAKING**: Add logs to `runWithEventlogSocket` connection loop.
- **BREAKING**: Downgrade severity of all errors logged during eventlog analyses to warnings.
- **BREAKING**: Move attributes, metrics, and spans into their own modules.
- **BREAKING**: Drop `Stream` and `supplier` machine.
- **BREAKING**: Drop `WithMainThreadId` and `withMainThreadId` machines.
- **BREAKING**: Rename `GHC.Eventlog.Live.Machines` to `GHC.Eventlog.Live.Machine`.
- **BREAKING**: Move core machines to their own module.
- **BREAKING**: Use ANSI colors for logs, if supported.
- Support reading the eventlog from stdin.
- Support reading the eventlog from file.
- **BREAKING**: Rename `EventlogSocket` and related functions to `EventlogSource`.
### 0.1.0.1
- Drop unused package `transformers` from dependencies.
- Lower `cabal-version` constraint to `3.0`
### 0.1.0.0
- Initial release.