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

[FLINK-7697][connectors] Add metrics for ElasticSearchSink #8568

Closed
wants to merge 1 commit into from

Conversation

piygoyal
Copy link

@piygoyal piygoyal commented May 30, 2019

What is the purpose of the change

This pull request add metrics to the Elasticsearch connectors, to make it easier to operate and monitor in a production environment.

Brief change log

The following metrics have been added:

  • ItemRequest success count (counter)
  • ItemRequest failure count (counter) grouped by error type.
  • BulkRequest failure count (counter) grouped by error type.
  • BulkRequest latency (gauge)

Note: Gauge doesn't feel like the right metric type for measuring bulkRequest latency, as it will only capture the last requestLatency before the gauge gets polled. Flink metric system currently lacks a timer type that can be used to capture event latencies in a richer way. I opened FLINK-12680 to track addition of a timer type.
Another metric-related thing we noticed during internal reviews is that the SimpleCounter is not thread safe, which makes it somewhat risky/expensive to use it in a multithreaded context. I opened FLINK-12681 to track making SimpleCounter thread-safe.

Verifying this change

This change is a trivial rework / code cleanup without any test coverage. Also manually verified the metrics by hooking with our internal time-series system.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): no
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

@flinkbot
Copy link
Collaborator

flinkbot commented May 30, 2019

Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
to review your pull request. We will use this comment to track the progress of the review.

Automated Checks

Last check on commit bdea9df (Thu Sep 23 18:02:36 UTC 2021)

Warnings:

  • No documentation files were touched! Remember to keep the Flink docs up to date!
  • This pull request references an unassigned Jira ticket. According to the code contribution guide, tickets need to be assigned before starting with the implementation work.

Mention the bot in a comment to re-run the automated checks.

Review Progress

  • ❓ 1. The [description] looks good.
  • ❓ 2. There is [consensus] that the contribution should go into to Flink.
  • ❗ 3. Needs [attention] from.
  • ❓ 4. The change fits into the overall [architecture].
  • ❓ 5. Overall code [quality] is good.

Please see the Pull Request Review Guide for a full explanation of the review process.


The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands
The @flinkbot bot supports the following commands:

  • @flinkbot approve description to approve one or more aspects (aspects: description, consensus, architecture and quality)
  • @flinkbot approve all to approve all aspects
  • @flinkbot approve-until architecture to approve everything until architecture
  • @flinkbot attention @username1 [@username2 ..] to require somebody's attention
  • @flinkbot disapprove architecture to remove an approval you gave earlier

@piygoyal
Copy link
Author

@flinkbot attention @tzulitai

@rmetzger rmetzger requested a review from tzulitai June 3, 2019 14:13
@tankilo
Copy link

tankilo commented Dec 13, 2019

Will there be any new progess? Currently in 1.9.0, es connector is still a black box. I've tried to turn on logging of org.elasticsearch.client.RequestLogger. Hope there will be metrics such as time cost of bulk request.

@flinkbot
Copy link
Collaborator

flinkbot commented Dec 13, 2019

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@dawidwys dawidwys self-assigned this May 28, 2020
@EsmeraldaYS
Copy link

影响了哪个版本

@dawidwys dawidwys removed their assignment Jul 13, 2021
@einarjohnson
Copy link

are there any metrics available for the elasticsearch sink?

@MartijnVisser
Copy link
Contributor

Connector has been moved to https://github.com/apache/flink-connector-elasticsearch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
8 participants