Class MetricsReporter
Listener for Kafka MetricsReporter. Extends JVMBridgeListener, implements IMetricsReporter
public class MetricsReporter : JVMBridgeListener, IDynamicMetaObjectProvider, IJVMBridgeCore, IEquatable<IJVMBridgeBaseInstance>, IDisposable, IJVMBridgeBaseStatic, IMetricsReporter, IJVMBridgeBase, IJVMBridgeBaseInstance, IJVMBridgeDefinition, IReconfigurable, IConfigurable, IAutoCloseable
- Inheritance
-
MetricsReporter
- Implements
- Derived
Remarks
Dispose the object to avoid a resource leak, the object contains a reference to the corresponding JVM object
Constructors
MetricsReporter(IJVMBridgeBaseInitializer)
Initializer used internally by JCOBridge. Do not use directly.
[Obsolete("This public initializer is needed for JCOBridge internal use, other uses can produce unidentifiable behaviors.")]
public MetricsReporter(IJVMBridgeBaseInitializer initializer)
Parameters
initializerIJVMBridgeBaseInitializer
MetricsReporter(params object[])
Generic constructor used by JCOBridge when a derived class needs to forward arguments to the base JVMBridgeBase class.
public MetricsReporter(params object[] args)
Parameters
argsobject[]
Properties
BridgeClassName
Java class name to be instantiated
public override string BridgeClassName { get; }
Property Value
OnClose
public Action OnClose { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnConfigure
public Action<Map<String, object>> OnConfigure { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnContextChange
public Action<MetricsContext> OnContextChange { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnInit
public Action<List<KafkaMetric>> OnInit { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnMetricChange
public Action<KafkaMetric> OnMetricChange { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnMetricRemoval
public Action<KafkaMetric> OnMetricRemoval { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnReconfigurableConfigs
public Func<Set<String>> OnReconfigurableConfigs { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnReconfigurableConfigsDispose
Optional handler invoked after the event handler returns, to dispose the JVM object returned by this event.
public Action<Set<String>> OnReconfigurableConfigsDispose { get; set; }
Property Value
Remarks
Set OnReconfigurableConfigsDispose when the event handler returns a JVM-backed object that is no longer needed after the call. The handler receives the return value and is responsible for calling Dispose() on it, releasing the underlying JVM global reference immediately instead of waiting for the .NET garbage collector to finalize it. If not set, the return value is not disposed automatically.
OnReconfigure
public Action<Map<String, object>> OnReconfigure { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
OnValidateReconfiguration
public Action<Map<String, object>> OnValidateReconfiguration { get; set; }
Property Value
Remarks
Assign a delegate to handle the event without subclassing. If both this handler and a virtual method override are present, the delegate takes precedence. Set to null to delegate to the virtual method.
Methods
Close()
public virtual void Close()
Configure(Map<String, object>)
public virtual void Configure(Map<String, object> arg0)
Parameters
ContextChange(MetricsContext)
public virtual void ContextChange(MetricsContext arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface using ContextChangeDefault(MetricsContext); override the method to implement a different behavior
ContextChangeDefault(MetricsContext)
public void ContextChangeDefault(MetricsContext arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface
Init(List<KafkaMetric>)
public virtual void Init(List<KafkaMetric> arg0)
Parameters
arg0List<KafkaMetric>
InitializeHandlers(Type)
Handlers initializer for MetricsReporter
protected virtual void InitializeHandlers(Type listenerRuntimeType)
Parameters
listenerRuntimeTypeType
ListenerShallManageEvent(int)
Invoked from the JVMBridgeListener on each received event to notify the user which can decide to abort the execution for the specific event returning false
protected override bool ListenerShallManageEvent(int eventIndex)
Parameters
eventIndexintThe index of the event triggered as returned from AddEventHandler(string, EventHandler) or AddEventHandler<TDataClass>(string, EventHandler<CLRListenerEventArgs<TDataClass>>)
Returns
Remarks
By default every event continues the execution and reads the data from JVM; this implies an extra cost which can be limited using ListenerShallManageEvent(int) or the ListenerShallManageEventIndex/ListenerShallManageEventName handlers. Returning false the control is immediately returned to the JVM, anyway the user has received the notification. It can be useful in scenarios where the user is interested in few events and the other are simply discarded to optimize the execution speed. By default, this function invokes ListenerShallManageEventIndex, then try ListenerShallManageEventName if they are set or return true
ListenerShallManageEventHandlers(int)
protected virtual bool ListenerShallManageEventHandlers(int eventIndex)
Parameters
eventIndexint
Returns
MetricChange(KafkaMetric)
public virtual void MetricChange(KafkaMetric arg0)
Parameters
arg0KafkaMetric
MetricRemoval(KafkaMetric)
public virtual void MetricRemoval(KafkaMetric arg0)
Parameters
arg0KafkaMetric
ReconfigurableConfigs()
public virtual Set<String> ReconfigurableConfigs()
Returns
Remarks
The method invokes the default implementation in the JVM interface using ReconfigurableConfigsDefault(); override the method to implement a different behavior
ReconfigurableConfigsDefault()
public Set<String> ReconfigurableConfigsDefault()
Returns
Remarks
The method invokes the default implementation in the JVM interface
Reconfigure(Map<String, object>)
public virtual void Reconfigure(Map<String, object> arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface using ReconfigureDefault(Map<String, object>); override the method to implement a different behavior
ReconfigureDefault(Map<String, object>)
public void ReconfigureDefault(Map<String, object> arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface
ValidateReconfiguration(Map<String, object>)
public virtual void ValidateReconfiguration(Map<String, object> arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface using ValidateReconfigurationDefault(Map<String, object>); override the method to implement a different behavior
Exceptions
ValidateReconfigurationDefault(Map<String, object>)
public void ValidateReconfigurationDefault(Map<String, object> arg0)
Parameters
Remarks
The method invokes the default implementation in the JVM interface