Table of Contents

Class MetricsReporter

Namespace
Org.Apache.Kafka.Common.Metrics
Assembly
MASES.KNet.dll

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

initializer IJVMBridgeBaseInitializer

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

args object[]

Properties

BridgeClassName

Java class name to be instantiated

public override string BridgeClassName { get; }

Property Value

string

OnClose

public Action OnClose { get; set; }

Property Value

Action

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

Action<Map<String, object>>

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

Action<MetricsContext>

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

Action<List<KafkaMetric>>

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

Action<KafkaMetric>

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

Action<KafkaMetric>

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

Func<Set<String>>

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

Action<Set<String>>

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

Action<Map<String, object>>

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

Action<Map<String, object>>

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

arg0 Map<String, object>

Map

ContextChange(MetricsContext)

public virtual void ContextChange(MetricsContext arg0)

Parameters

arg0 MetricsContext

MetricsContext

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

arg0 MetricsContext

MetricsContext

Remarks

The method invokes the default implementation in the JVM interface

Init(List<KafkaMetric>)

public virtual void Init(List<KafkaMetric> arg0)

Parameters

arg0 List<KafkaMetric>

List

InitializeHandlers(Type)

Handlers initializer for MetricsReporter

protected virtual void InitializeHandlers(Type listenerRuntimeType)

Parameters

listenerRuntimeType Type

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

eventIndex int

The index of the event triggered as returned from AddEventHandler(string, EventHandler) or AddEventHandler<TDataClass>(string, EventHandler<CLRListenerEventArgs<TDataClass>>)

Returns

bool

Returns true to continue event evaluation, false to return the control to the JVM

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

eventIndex int

Returns

bool

MetricChange(KafkaMetric)

public virtual void MetricChange(KafkaMetric arg0)

Parameters

arg0 KafkaMetric

KafkaMetric

MetricRemoval(KafkaMetric)

public virtual void MetricRemoval(KafkaMetric arg0)

Parameters

arg0 KafkaMetric

KafkaMetric

ReconfigurableConfigs()

public virtual Set<String> ReconfigurableConfigs()

Returns

Set<String>

Set

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

Set<String>

Set

Remarks

The method invokes the default implementation in the JVM interface

Reconfigure(Map<String, object>)

public virtual void Reconfigure(Map<String, object> arg0)

Parameters

arg0 Map<String, object>

Map

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

arg0 Map<String, object>

Map

Remarks

The method invokes the default implementation in the JVM interface

ValidateReconfiguration(Map<String, object>)

public virtual void ValidateReconfiguration(Map<String, object> arg0)

Parameters

arg0 Map<String, object>

Map

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

ConfigException

ValidateReconfigurationDefault(Map<String, object>)

public void ValidateReconfigurationDefault(Map<String, object> arg0)

Parameters

arg0 Map<String, object>

Map

Remarks

The method invokes the default implementation in the JVM interface

Exceptions

ConfigException