### 0.7.0.0
- Add support for OTLP over HTTP/Protobuf. To use HTTP/Protobuf, use:
- `--otlp-protocol=http/protobuf`
- `--otlp-endpoint=http://my-http-endpoint:my-http-port`
See `demo-http-protobuf` for a demo that uses `eventlog-live-otelcol` to
sends data directly to Prometheus over HTTP/Protobuf.
- **BREAKING**: Rename `--otelcol` command-line options to `--otlp`, and
change the separate `host`/`port`/`ssl` options to `--otlp-endpoint`,
which accepts an URL similar to the OTLP environment variables.
Moreover, the `certificate-store` and `ssl-key-log`/`ssl-key-log-from-env`
options are now prefixed by `--otlp-grpc-`, e.g., `--otlp-grpc-ssl-key-log`.
- **BREAKING**: Rename `profiles` processors to `call_stack_profile` and
`cost_centre_stack_profile`. These processors now respect the name given
in the configuration file, e.g., using the default configuration, these
profiles will be available in Pyroscope as...
- `ghc_eventlog_CallStackProfile:cpu:samples`
- `ghc_eventlog_CostCentreStackProfile:cpu:samples`
- **BREAKING**: Change default semantics of the configuration file.
Starting from version 0.7.0.0, if the key for any specific processor
is present in the file, even if it sets none of the properties, the
processor is _enabled_, and any missing keys will default to the values
in this file. Otherwise, the processor is _disabled_. For instance,
the following configuration will run _only_ the `heap_prof_sample`
processor with the default configuration.
```yaml
processors:
metrics:
heap_prof_sample:
```
Previously, if any key in the configuration file was commented out,
it was given the value in the default configuration. Unfortunately,
this was very unintuitive. Consider the following configuration...
```yaml
processors:
metrics:
heap_prof_sample:
name: ghc_eventlog_HeapProfSample
aggregate: 5s
export: 5s
```
Previously, this would activate `heap_prof_sample` with the given
configuration and activate _all other processors_ with their default
configuration. Moreover, if the user edited the file and commented out
the `heap_prof_sample` section...
```yaml
processors:
metrics:
# heap_prof_sample:
# name: ghc_eventlog_HeapProfSample
# aggregate: 5s
# export: 5s
```
...this would _not_ deactive the `heap_prof_sample` processor. Rather,
it would keep the `heap_prof_sample` processor active with its default
configuration.
### 0.6.1.0
- Support eventlog over TCP/IP.
### 0.6.0.0
- **BREAKING**: Drop `enabled` from configuration files.
- **BREAKING**: Change value of `aggregate` in configuration files to ``(boolean | `${number}x`)``.
- Support logs and markers (`thread_label`, `user_marker`, `user_message`, `internal_log_message`).
- Support internal telemetry (currently only `internal_log_message`).
- Support cost-centre profiles.
- Support `ghc-stack-profiler` call-stack profiles.
- **BREAKING**: Use OTLP v1.9.
- Support an optional control server via a REST API.
### 0.5.0.0
- **BREAKING**: Put `ghc-debug-stub` support behind `use-ghc-debug-stub` feature flag.
### 0.4.0.0
- Fix space leak in `processHeapProfSampleData`.
- Support aggregation (via configuration files).
- Support statistics with the `--stats` flag:
```
┌────────┬──────────┬──────────────┬───────────────┬───────────────────┐
│ Item │ Action │ Total (item) │ Rate (item/s) │ Peak (item/batch) │
╞════════╪══════════╪══════════════╪═══════════════╪═══════════════════╡
│ Event │ Received │ 66036 │ 6603/s │ 22197/s │
├────────┼──────────┼──────────────┼───────────────┼───────────────────┤
│ Metric │ Exported │ 274 │ 45/s │ 59/s │
├────────┼──────────┼──────────────┼───────────────┼───────────────────┤
│ │ Rejected │ 0 │ 0/s │ 0/s │
├────────┼──────────┼──────────────┼───────────────┼───────────────────┤
│ Span │ Exported │ 19372 │ 3228/s │ 5979/s │
├────────┼──────────┼──────────────┼───────────────┼───────────────────┤
│ │ Rejected │ 0 │ 0/s │ 0/s │
└────────┴──────────┴──────────────┴───────────────┴───────────────────┘
```
### 0.3.0.0
- Support configuration files (via `--config`; see `--print-defaults`).
- **BREAKING**: Remove `--otelcol-no-metrics` and `--otelcol-no-traces` flags.
The behaviour of these flags is superceded by the configuration files.
### 0.2.0.0
- **BREAKING**: Support info and debug verbosity. This changes the semantics of `--verbosity=3` and up.
- Support reading the eventlog from stdin.
- Support reading the eventlog from file.
### 0.1.0.3
- Support `random-1.2`
### 0.1.0.2
- Lower `cabal-version` constraint to `3.0`
### 0.1.0.0
- Initial release.