THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
// deprecated APIs: use {@link Sensor#record(double)} directly instead. @Deprecated void recordLatency(final Sensor sensor, final long startNs, final long endNs); @Deprecated void recordThroughput(final Sensor sensor, void final long value); // updated APIs javadocs /* * Add a latency, rate and ratetotal sensor for a specific operation, which will include the following metrics: * <ol> * <li>average latency</li> * <li>max latency</li> * <li>invocation rate (num.operations / time unit)</li> * <li>total invocation count</li> * </ol> * Whenever a user record this sensor via {@link Sensor#record(double)} etc, * it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly; * and the recorded latency value will be used to update the average / max latency as well. The time unit of the latency can be defined * by the user. * * Note that you can add more metrics to this sensor after created it, which can then be updated upon {@link Sensor#record(double)} calls; * but additional user-customized metrics will not be managed by {@link StreamsMetrics}. * * @param scopeName name of the scope, which will be used as part of the metrics type, e.g.: "stream-[scope]-metrics". * @param entityName name of the entity, which will be used as part of the metric tags, e.g.: "[scope]-id" = "[entity]". * @param operationName name of the operation, which will be used as the name of the metric, e.g.: "[operation]-latency-avg". * @param recordingLevel the recording level (e.g., INFO or DEBUG) for this sensor. * @param tags additional tags of the sensor * @return The added sensor. */ Sensor addLatencyAndRateSensoraddLatencyRateTotalSensor(final String scopeName, final String entityName, final String operationName, final Sensor.RecordingLevel recordingLevel, final String... tags); /* * Add a rate and a total sensor for a specific operation, which will include the following metrics: * <ol> * <li>invocation rate (num.operations / time unit)</li> * <li>total invocation count</li> * </ol> * Whenever a user record this sensor via {@link Sensor#record(double)} etc, * it will be counted as one invocation of the operation, and hence the rate / count metrics will be updated accordingly. * * Note that you can add more metrics to this sensor after created it, which can then be updated upon {@link Sensor#record(double)} calls; * but additional user-customized metrics will not be managed by {@link StreamsMetrics}. * * @param scopeName name of the scope, which will be used as part of the metrics type, e.g.: "stream-[scope]-metrics". * @param entityName name of the entity, which will be used as part of the metric tags, e.g.: "[scope]-id" = "[entity]". * @param operationName name of the operation, which will be used as the name of the metric, e.g.: "[operation]-latency-avg". * @param recordingLevel the recording level (e.g., INFO or DEBUG) for this sensor. * @param tags additional tags of the sensor * @return The added sensor. */ Sensor addRateSensoraddRateTotalSensor(final String scopeName, final String entityName, final String operationName, final Sensor.RecordingLevel recordingLevel, final String... tags); |
Users can create a sensor via either `addLatencyAndRateSensor` or `addRateSensor`, which will be pre-registered with the latency / rate metrics already; more metrics can then be added to the returned sensors in addition to the pre-registered ones. When recording a value to the sensor, users should just use `Sensor#record()` directly on the sensor itself.
...