Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Status

Current state: DraftUnder Discussion

Discussion thread: Mailing list discussion - to be updated]

JIRA: [To Be Created] 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-20047

Released: XXX

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

ConfigurationTypeDefaultDescription
remote.log.metrics.cost.attribution.enabledBooleanfalseMaster switch to enable client-level metrics
remote.log.metrics.max.
consumer
client.
groups
sensors
Int1000Maximum unique client-ids tracked (LRU eviction)
remote.log.metrics.include.partitionBooleanfalseInclude partition tag (increases cardinality)

...

Where:
VEgress = Total bytes from RemoteFetchBytesPerConsumerGroup RemoteFetchBytesPerSec (aggregated count)

REgress = Cloud provider's egress rate (e.g., $0.09/GB for Internet, $0.01/GB for Inter-AZ)
NRequests = Total count from RemoteFetchRequestsPerConsumerGroup RemoteFetchRequestsPerSec + RemoteFetchErrorsPerSec

RAPI = Cloud provider's API rate (e.g., $0.0004 per 1,000 GET requests)

...

  • Verify exact byte count attribution for mock remote fetches
  • Test LRU eviction with max.consumerclient.groups limitsensors  limit
  • Validate context propagation from FetchRequest to RemoteStorageFetchInfo
  • Verify MBean unregistration upon sensor eviction

...

Code Block
sum(rate(kafka_server_remote_fetch_bytes_total[1h])) by (client_id) 
/ 
sum(rate(kafka_server_remote_fetch_requests_total[1h])) by (client_id)


Error rate by client:Promql

Code Block
sum(rate(kafka_server_remote_fetch_errors_total[1h])) by (client_id)


...