Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ingest info to Cluster Stats #48485

Merged
merged 8 commits into from
Oct 29, 2019
Merged

Conversation

talevy
Copy link
Contributor

@talevy talevy commented Oct 24, 2019

This PR enhances the ClusterStatsNodes response to include global
processor usage stats on a per-processor basis.

example output:

...
    "processor_stats": {
      "gsub": {
        "count": 0,
        "failed": 0
        "current": 0
        "time_in_millis": 0
      },
      "script": {
        "count": 0,
        "failed": 0
        "current": 0,
        "time_in_millis": 0
      }
    }
...

The purpose for this enhancement is to make it easier to collect stats on how specific processors are being used across the cluster beyond the current per-node usage statistics that currently exist in node stats.

Closes #46146.

@talevy talevy added >enhancement :Data Management/Stats Statistics tracking and retrieval APIs :Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP labels Oct 24, 2019
@talevy talevy requested a review from martijnvg October 24, 2019 17:43
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features (:Core/Features/Ingest)

@talevy
Copy link
Contributor Author

talevy commented Oct 25, 2019

run elasticsearch-ci/bwc

Copy link
Member

@martijnvg martijnvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good! I left a few small comments.

@talevy talevy requested a review from martijnvg October 28, 2019 23:54
Copy link
Member

@martijnvg martijnvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@talevy talevy merged commit 523cb23 into elastic:master Oct 29, 2019
@talevy talevy deleted the telemetry-ingest branch October 29, 2019 18:51
talevy added a commit to talevy/elasticsearch that referenced this pull request Oct 30, 2019
This commit creates random NodesStats until IngestStats is not null, so
that it can be properly tested. This is done as to not change the existing
behavior of createNodesStats since it depends on IngestStats being null
at times for serialization testing purposes. I think it is OK to do this since
it is unlikely that it will be null.

relates elastic#48485

closes elastic#48684
talevy added a commit that referenced this pull request Oct 31, 2019
This commit creates random NodesStats until IngestStats is not null, so
that it can be properly tested. This is done as to not change the existing
behavior of createNodesStats since it depends on IngestStats being null
at times for serialization testing purposes. I think it is OK to do this since
it is unlikely that it will be null.

relates #48485

closes #48684
talevy added a commit to talevy/elasticsearch that referenced this pull request Oct 31, 2019
after backporting elastic#48485 in elastic#48661, version guards in master can
be updated from 8.0 to 7.6 for IngestStats serialization guards
talevy added a commit to talevy/elasticsearch that referenced this pull request Oct 31, 2019
this disables bwc tests for changes made in elastic#48485,
that are being backported in elastic#48661.

This will be reverted once elastic#48768 is merged.
@talevy talevy mentioned this pull request Oct 31, 2019
talevy added a commit that referenced this pull request Oct 31, 2019
this disables bwc tests for changes made in #48485,
that are being backported in #48661.

This will be reverted once #48768 is merged.
talevy added a commit that referenced this pull request Oct 31, 2019
* Add ingest info to Cluster Stats (#48485)

This commit enhances the ClusterStatsNodes response to include global
processor usage stats on a per-processor basis.

example output:

```
...
    "processor_stats": {
      "gsub": {
        "count": 0,
        "failed": 0
        "current": 0
        "time_in_millis": 0
      },
      "script": {
        "count": 0,
        "failed": 0
        "current": 0,
        "time_in_millis": 0
      }
    }
...
```

The purpose for this enhancement is to make it easier to collect stats on how specific processors are being used across the cluster beyond the current per-node usage statistics that currently exist in node stats.

Closes #46146.

* fix BWC of ingest stats

The introduction of processor types into IngestStats had a bug.
It was set to `null` and set as the key to the map. This would
throw a NPE. This commit resolves this by setting all the processor
types from previous versions that are not serializing it out to
`_NOT_AVAILABLE`.
talevy added a commit that referenced this pull request Oct 31, 2019
)

* update IngestStats version guards to 7.6

after backporting #48485 in #48661, version guards in master can
be updated from 8.0 to 7.6 for IngestStats serialization guards

* forward port bwc tests in ingeststats

* fix null ingeststats when reading the stream

* re-enable bwc tests
debadair pushed a commit to debadair/elasticsearch that referenced this pull request Nov 13, 2019
This commit creates random NodesStats until IngestStats is not null, so
that it can be properly tested. This is done as to not change the existing
behavior of createNodesStats since it depends on IngestStats being null
at times for serialization testing purposes. I think it is OK to do this since
it is unlikely that it will be null.

relates elastic#48485

closes elastic#48684
debadair pushed a commit to debadair/elasticsearch that referenced this pull request Nov 13, 2019
this disables bwc tests for changes made in elastic#48485,
that are being backported in elastic#48661.

This will be reverted once elastic#48768 is merged.
debadair pushed a commit to debadair/elasticsearch that referenced this pull request Nov 13, 2019
…stic#48768)

* update IngestStats version guards to 7.6

after backporting elastic#48485 in elastic#48661, version guards in master can
be updated from 8.0 to 7.6 for IngestStats serialization guards

* forward port bwc tests in ingeststats

* fix null ingeststats when reading the stream

* re-enable bwc tests
russcam added a commit to elastic/elasticsearch-net that referenced this pull request Feb 21, 2020
Mpdreamz pushed a commit to elastic/elasticsearch-net that referenced this pull request Feb 21, 2020
github-actions bot pushed a commit to elastic/elasticsearch-net that referenced this pull request Feb 21, 2020
Mpdreamz pushed a commit to elastic/elasticsearch-net that referenced this pull request Feb 21, 2020
russcam added a commit to elastic/elasticsearch-net that referenced this pull request Feb 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP :Data Management/Stats Statistics tracking and retrieval APIs >enhancement v7.6.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a summary of IngestStats to ClusterStatsNodes
4 participants