Skip to content

Commit

Permalink
[receiver/elasticsearch] Enable more index metrics by default (#34397)
Browse files Browse the repository at this point in the history
**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This enables the following metrics by default:

```
elasticsearch.index.documents
elasticsearch.index.operations.merge.current
elasticsearch.index.segments.count
```

**Link to tracking Issue:** <Issue number if applicable>
Resolves #34396

**Testing:** <Describe what testing was performed and which tests were
added.>
Tests have been updated to account for these metrics being enabled by
default. One thing to note, some tests were manually enabling these
metrics. This is no longer necessary, but I've left as-is since it
doesn't do any harm, and can be helpful to ensure tests act the way we
want. I can update though if reviewers prefer.

Testing side note: For some reason, when running integration tests
locally, I had to add a `time.Sleep` call before scraping when the
docker container was being spun up. Some metrics and resource attributes
weren't populated fully without the delay, and caused a mismatch with
the GitHub CI's results that are generated without the sleep call.
  • Loading branch information
crobert-1 authored Aug 5, 2024
1 parent 3f1c619 commit d79b8ef
Show file tree
Hide file tree
Showing 9 changed files with 5,152 additions and 4,710 deletions.
33 changes: 33 additions & 0 deletions .chloggen/es_add_default_metrics.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Use this changelog template to create an entry for release notes.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: breaking

# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
component: elasticsearchreceiver

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Enable more index metrics by default

# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
issues: [34396]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
This enables the following metrics by default:
`elasticsearch.index.documents`
`elasticsearch.index.operations.merge.current`
`elasticsearch.index.segments.count`
To preserve previous behavior, update your Elasticsearch receiver configuration to disable these metrics.
# If your change doesn't affect end users or the exported elements of any package,
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: []
86 changes: 43 additions & 43 deletions receiver/elasticsearchreceiver/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,21 @@ The cumulative amount of time updating the cluster state since the node started.
| state | State of cluster state update | Any Str |
| type | Type of cluster state update | Str: ``computation``, ``context_construction``, ``commit``, ``completion``, ``master_apply``, ``notification`` |
### elasticsearch.index.documents
The number of documents for an index.
| Unit | Metric Type | Value Type | Aggregation Temporality | Monotonic |
| ---- | ----------- | ---------- | ----------------------- | --------- |
| {documents} | Sum | Int | Cumulative | false |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| state | The state of the document. | Str: ``active``, ``deleted`` |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.operations.completed
The number of operations completed for an index.
Expand All @@ -196,6 +211,20 @@ The number of operations completed for an index.
| operation | The type of operation. | Str: ``index``, ``delete``, ``get``, ``query``, ``fetch``, ``scroll``, ``suggest``, ``merge``, ``refresh``, ``flush``, ``warmer`` |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.operations.merge.current
The number of currently active segment merges
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {merges} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.operations.time
Time spent on operations for an index.
Expand All @@ -211,6 +240,20 @@ Time spent on operations for an index.
| operation | The type of operation. | Str: ``index``, ``delete``, ``get``, ``query``, ``fetch``, ``scroll``, ``suggest``, ``merge``, ``refresh``, ``flush``, ``warmer`` |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.segments.count
Number of segments of an index.
| Unit | Metric Type | Value Type | Aggregation Temporality | Monotonic |
| ---- | ----------- | ---------- | ----------------------- | --------- |
| {segments} | Sum | Int | Cumulative | false |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.shards.size
The size of the shards assigned to this index.
Expand Down Expand Up @@ -837,35 +880,6 @@ The number of elements of the query cache for an index.
| ---- | ----------- | ------ |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.documents
The number of documents for an index.
| Unit | Metric Type | Value Type | Aggregation Temporality | Monotonic |
| ---- | ----------- | ---------- | ----------------------- | --------- |
| {documents} | Sum | Int | Cumulative | false |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| state | The state of the document. | Str: ``active``, ``deleted`` |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.operations.merge.current
The number of currently active segment merges
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {merges} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.operations.merge.docs_count
The total number of documents in merge operations for an index.
Expand Down Expand Up @@ -894,20 +908,6 @@ The total size of merged segments for an index.
| ---- | ----------- | ------ |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.segments.count
Number of segments of an index.
| Unit | Metric Type | Value Type | Aggregation Temporality | Monotonic |
| ---- | ----------- | ---------- | ----------------------- | --------- |
| {segments} | Sum | Int | Cumulative | false |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| aggregation | Type of shard aggregation for index statistics | Str: ``primary_shards``, ``total`` |
### elasticsearch.index.segments.memory
Size of memory for segment object of an index.
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions receiver/elasticsearchreceiver/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,7 @@ metrics:
gauge:
value_type: int
attributes: [ index_aggregation_type ]
enabled: false
enabled: true
elasticsearch.index.segments.count:
description: Number of segments of an index.
unit: "{segments}"
Expand All @@ -905,7 +905,7 @@ metrics:
aggregation_temporality: cumulative
value_type: int
attributes: [index_aggregation_type]
enabled: false
enabled: true
elasticsearch.index.segments.size:
description: Size of segments of an index.
unit: By
Expand Down Expand Up @@ -977,7 +977,7 @@ metrics:
aggregation_temporality: cumulative
value_type: int
attributes: [document_state, index_aggregation_type]
enabled: false
enabled: true
elasticsearch.process.cpu.usage:
description: CPU usage in percent.
unit: "1"
Expand Down
Loading

0 comments on commit d79b8ef

Please sign in to comment.