Skip to content

Commit

Permalink
Merge pull request #27 from heiko-holz/features/feat-12-update-export…
Browse files Browse the repository at this point in the history
…er-docu

Closes #12: feat(docu): update exporter documentation
  • Loading branch information
Heiko Holz committed Jan 25, 2023
2 parents 2ce5c6f + f7485b4 commit 914bfe4
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 9 deletions.
42 changes: 36 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,11 @@ The inspectIT Ocelot EUM Server currently supports the following metrics exporte
|Exporter |Supports run-time updates| Push / Pull |Enabled by default|
|---|---|---|---|
|[Prometheus Exporter](#prometheus-exporter)|Yes|Pull|No|
|[InfluxDB Exporter](#influxdb-exporter)|Yes|Push|No|
|[OTLP Exporter (Metrics)](#otlp-exporter-metrics) [[Homepage](https://github.com/open-telemetry/opentelemetry-java/tree/main/exporters/otlp/metrics)]|Yes|Push|No|

###### Prometheus Exporter
If `enabled` is set to `ENABLED`, the exporter is exposes the metrics under
If `enabled` is set to `ENABLED`, the exporter exposes the metrics under
```bash
http://[host]:[port]/metrics
```
Expand All @@ -167,11 +168,40 @@ The following properties are nested properties below the `inspectit-eum-server.e
|`.host`| `0.0.0.0` |The hostname or network address to which the Prometheus HTTP server should bind.
|`.port`| `8888` |The port the Prometheus HTTP server should use.


###### InfluxDB Exporter
If enabled, metrics are pushed at a specified interval directly to a given InfluxDB v1.x instance.
To enable the InfluxDB Exporters, it is only required to specify the `endpoint`.

The InfluxDB exporter provides a special handling for counter and sum metrics which is enabled by default and can be disabled using the `counters-as-differences` option.
Usually, the absolute value of such counters is irrelevant when querying the data, instead you want to have the increase of it over a certain period of time.
With the `counters-as-differences` option enabled, counters are preprocessed before being exported.

Instead of writing the absolute value of each counter into the InfluxDB, only the increase since the last export will be written.
In addition, no value will be exported, if the counter has not changed since the last export.
This can greatly reduce the amount of data written into the InfluxDB, especially if the metrics are quite constant and won't change much.

The following properties are nested properties below the `inspectit.exporters.metrics.influx` property:


|Property | Default | Description|
|---|-----------------------------------------|---|
|`.enabled`| `IF_CONFIGURED` |If `ENABLED` or `IF_CONFIGURED`, the agent will try to start the Influx exporter. If the url is not set, it will log a warning if set to `ENABLED` but fail silently if set to `IF_CONFIGURED`.|
|`.endpoint`| `null` |The HTTP endpoint of the InfluxDB, e.g. `http://localhost:8086`.|
|`.user`| `null` | The user to use for connecting to the InfluxDB, can not be empty.|
|`.password`| `null` |The password to use for connecting to the InfluxDB, can be not be empty.|
|`.database`| `inspectit` | The InfluxDB database to which the metrics are pushed.|
|`.retention-policy`| `autogen` | The retention policy of the database to use for writing metrics.|
|`.create-database`| `true` | If enabled, the database defined by the `database` property is automatically created on startup with an `autogen` retention policy if it does not exist yet.|
|`.export-interval`| refers to `inspectit.metrics.frequency` |Defines how often metrics are pushed to the InfluxDB.|
|<nobr>`.counters-as-differences`</nobr>| `true` |Defines whether counters are exported using their absolute value or as the increase between exports|
|`buffer-size`| `40` | In case the InfluxDB is not reachable, failed writes will be buffered and written on the next export. This value defines the maximum number of batches to buffer.|

###### OTLP Exporter (Metrics)


The OpenTelemetry Protocol (OTLP) exporters export the metrics to the desired endpoint at a specified interval.
To enable the OTLP exporters, it is only required to specify the `url`.
To enable the OTLP exporters, it is only required to specify the `endpoint`.

The following properties are nested properties below the `inspectit-eum-server.exporters.metrics.otlp` property:

Expand All @@ -193,15 +223,15 @@ The inspectIT Ocelot EUM Server currently supports the following trace exporters
* [Jaeger](#jaeger-exporter) [[Homepage](https://www.jaegertracing.io/)]
* [OTLP (Traces)](#otlp-exporter-traces) [[Homepage](https://github.com/open-telemetry/opentelemetry-java/tree/main/exporters/otlp/trace)]

##### General Trace Exporter Settings
###### General Trace Exporter Settings

These settings apply to all trace exporters and can set below the `inspectit-eum-server.exporters.tracing` property.

| Property | Default | Description |
|-----------------|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `.service-name` | `${inspectit.service-name}` | The value of this property will be used to identify the service a trace came from. Please note that changes of this property only take effect after restarting the agent. |

##### Jaeger Exporter
###### Jaeger Exporter

InspectIT EUM Server supports thrift and gRPC Jaeger exporter.

Expand All @@ -217,10 +247,10 @@ The following properties are nested properties below the `inspectit.exporters.tr
| `.compression` | `NONE` | The compression method, see [OTEL documentation](https://opentelemetry.io/docs/reference/specification/protocol/exporter/). Supported compression methods are `gzip` and `none`. This property only takes effect when the protocol is set to `grpc`. |
| `.timeout` | `10s` | Maximum time the OTLP exporter will wait for each batch export, see [OTEL documentation](https://opentelemetry.io/docs/reference/specification/protocol/exporter/). This property only takes effect when the protocol is set to `grpc`. |

##### OTLP Exporter (Traces)
###### OTLP Exporter (Traces)

The OpenTelemetry Protocol (OTLP) exporters export the Traces in OTLP to the desired endpoint at a specified interval.
By default, the OTLP exporters are enabled but the URL endpoint needed for the exporter to actually start is set to `null`.
By default, the OTLP exporters are enabled but the URL `endpoint` needed for the exporter to actually start is set to `null`.

The following properties are nested properties below the `inspectit.exporters.tracing.otlp` property:

Expand Down
7 changes: 4 additions & 3 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,10 @@ inspectit-eum-server:
# the export interval of the metrics.
export-interval: 15s

# The http url of influx.
# the url under which the InfluxDB can be accessed, e.g. http://localhost:8086
# If this property is not set, the influx-exporter will not be started.
# url: "http://localhost:8086"
# endpoint: "http://localhost:8086"
endpoint: null

# The database to write to.
# If this property is not set, the influx-exporter will not be started.
Expand Down Expand Up @@ -180,7 +181,7 @@ inspectit-eum-server:
headers: { }
# the aggregation temporality, e.g., CUMULATIVE or DELTA
preferredTemporality: CUMULATIVE
# compression method
# compression method, e.g., NONE or GZIP
compression: NONE
# timeout, i.e., maximum time the OTLP exporter will wait for each batch export
timeout: 10s
Expand Down

0 comments on commit 914bfe4

Please sign in to comment.