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

[Etcd] Deprecation of V2 API and related datasets #8458

Closed
agithomas opened this issue Nov 10, 2023 · 3 comments
Closed

[Etcd] Deprecation of V2 API and related datasets #8458

agithomas opened this issue Nov 10, 2023 · 3 comments
Assignees

Comments

@agithomas
Copy link
Contributor

agithomas commented Nov 10, 2023

ETCD Integration is currently in Beta.

The existing integration of ETCD makes use of HTTP V2 API and Prometheus Endpoint. Below are the details of the implementation

Datastream Name Implementation Method
leader V2 API
metrics Prometheus endpoint
self V2 API
store V2 API

Key points

  • The current stable version of ETCD is 3.5 . Version 3.6 is in draft state.
  • API V2 is not enabled by default in ETCD version 3.5 . It can be enabled by setting the environment variable
  • API V2 will be disabled as part of 3.6 . Below are the lines from the 3.6 release plan.

image

I made an attempt below to link the metrics that were part of the existing ETCD datasets (leader, self, store) and equivalent metrics in the V3 prometheus metrics.

V2 field V3 Metric
leader.follower.latency.ms peer_round_trip_time_seconds
leader.follower.success_operations , leader.follower.failed_operations proposals_committed_total, proposals_applied_total, proposals_pending, proposals_failed_total, has_leader ( All fields are existing in metrics ds)
self.uptime, self.start_time process_start_time_seconds
self.recv.*, self.send etcd_network_peer_received_bytes_total, etcd_network_peer_sent_bytes_total, etcd_network_peer_round_trip_time_seconds_bucket, peer_sent_bytes_total, peer_received_bytes_total, peer_sent_failures_total, peer_received_failures_total, peer_round_trip_time_seconds
store.gets, store.sets, store.delete, store.update, store.create etcd_debugging_store_writes_total, etcd_debugging_store_expires_total, etcd_debugging_store_reads_total, etcd_debugging_store_watchers
@agithomas
Copy link
Contributor Author

agithomas commented Nov 10, 2023

Task :

  • ETCD 3.0 - 3.5 supports V2 APIs. Should V2 API-based dataset be supported considering below mentioned points

    • 3.5 is the current stable version.
    • V2 API output is derived from V3 metrics. Please refer to the above screenshot
    • There exist no 1-1 mapping between V2 API metrics and V3 metrics.
  • Validate the necessity of including these metrics additionally as part of metrics dataset considering v2 API based datasets are decommissioned

  • Validate the necessity of adding additional dashboard panels based on the selected metrics from Task 2 , mentioned above.

@agithomas
Copy link
Contributor Author

@lalit-satapathy , @SubhrataK , @gpop63 , please share your thoughts on the Tasks, mentioned above , after going through the description of the issue.

@agithomas agithomas self-assigned this Nov 10, 2023
@agithomas
Copy link
Contributor Author

My recommendations are below

  • Deprecate all datastreams based on V2 APIs
  • Have additional V2 equivalent metrics collected as part of metrics datastream
  • Have two panels additionally included in the Dashboard to show
    • proposals_* metrics
    • etcd_debugging_store* metrics

@agithomas agithomas mentioned this issue Dec 1, 2023
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant