DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
- A new interface ClientTelemetryContext to hold the request and telemetry (just the push interval) context:
Code Block language java title ClientTelemetryContext package org.apache.kafka.server.telemetry; import org.apache.kafka.server.authorizer.AuthorizableRequestContext; /** * Context provided to {@link ClientTelemetryReceiver} implementations when receiving client metrics. */ public interface ClientTelemetryContext { /** * The interval defined via <code>metrics.interval</code> in the client metrics subscription * @return The interval in milliseconds */ int pushIntervalMs(); /** * The context associated with this request * @return The AuthorizableRequestContext associated with this request */ AuthorizableRequestContext authorizableRequestContext(); }
A new interface, ClientTelemetryExporter, that works like ClientTelemetryReceiver but uses ClientTelemetryContext.
Code Block language java package org.apache.kafka.server.telemetry; /** * {@code ClientTelemetryExporter} defines the behaviour for telemetry exporter on the broker side * which receives client telemetry metrics. */ public interface ClientTelemetryExporter { /** * Called by the broker when a client reports telemetry metrics. The associated telemetry context * can be used by the metrics plugin to retrieve additional client information such as client ids, * endpoints or the push interval. * <p> * This method may be called from the request handling thread, and as such should avoid blocking. * * @param context the client telemetry context for the corresponding {@code PushTelemetryRequest} * api call. * @param payload the encoded telemetry payload as sent by the client. */ void exportMetrics(ClientTelemetryContext context, ClientTelemetryPayload payload); }- A new interface, ClientTelemetryExporterProvider, that works like ClientTelemetry but provides a ClientTelemetryExporter instead of ClientTelemetryReceiver
...