Abstract
Protected
Optional
_doTeardown / Unload hook to allow implementations to perform some additional unload operations before the BaseTelemetryPlugin finishes it's removal.
Optional
unloadCtx: IProcessTelemetryUnloadContextThis is the context that should be used during unloading.
Optional
unloadState: ITelemetryUnloadStateThe details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.
Optional
asyncCallback: (() => void)An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.
boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.
Protected
Optional
_doExtension hook to allow implementations to perform some additional update operations before the BaseTelemetryPlugin finishes it's removal
Optional
updateCtx: IProcessTelemetryUpdateContextThis is the context that should be used during updating.
Optional
updateState: ITelemetryUpdateStateThe details / state of the update process, it holds details like the current and previous configuration.
Optional
asyncCallback: (() => void)An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async update operations.
boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.
Protected
_getHelper to return the current IProcessTelemetryContext, if the passed argument exists this just returns that value (helps with minification for callers), otherwise it will return the configured context or a temporary one.
Optional
currentCtx: IProcessTelemetryContext[Optional] The current execution context
Protected
Readonly
_unloadExposes the underlying unload hook container instance for this extension to allow it to be passed down to any sub components of the class. This should NEVER be exposed or called publically as it's scope is for internal use by BaseTelemetryPlugin and any derived class (which is why it's scoped as protected)
Holds the core instance that was used during initialization
Returns the current diagnostic logger that can be used to log issues, if no logger is currently assigned a new default one will be created and returned.
Extension name
Returns whether the plugin has been initialized
Priority of the extension
Call back for telemetry processing before it it is sent
This is the current event being reported
This is the context for the current request, ITelemetryPlugin instances can optionally use this to access the current core instance or define / pass additional information to later plugins (vs appending items to the telemetry item)
Protected
setInternal helper to allow setting of the internal initialized setting for inherited instances and unit testing
Set next extension for telemetry processing
Optional
versionPlugin version (available in data.properties.version in common schema)
Protected
_addAdd this hook so that it is automatically removed during unloading
The single hook or an array of IInstrumentHook objects
Protected
_addAdd an unload handler that will be called when the SDK is being unloaded
the handler
Initialize plugin loaded by SDK
The config for the plugin to use
The current App Insights core to use for initializing this plugin instance
The complete set of extensions to be used for initializing the plugin
Optional
pluginChain: ITelemetryPluginChain[Optional] specifies the current plugin chain which identifies the set of plugins and the order they should be executed for the current request.
Abstract
processCall back for telemetry processing before it it is sent
This is the current event being reported
Optional
itemCtx: IProcessTelemetryContextThis is the context for the current request, ITelemetryPlugin instances can optionally use this to access the current core instance or define / pass additional information to later plugins (vs appending items to the telemetry item)
Tear down the plugin and remove any hooked value, the plugin should be removed so that it is no longer initialized and therefore could be re-initialized after being torn down. The plugin should ensure that once this has been called any further processTelemetry calls are ignored and it just calls the processNext() with the provided context.
Optional
unloadCtx: IProcessTelemetryUnloadContextThis is the context that should be used during unloading.
Optional
unloadState: ITelemetryUnloadStateThe details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.
boolean - true if the plugin has or will call processNext(), this for backward compatibility as previously teardown was synchronous and returned nothing.
The the plugin should re-evaluate configuration and update any cached configuration settings.
This is the context that should be used during updating.
The details / state of the update process, it holds details like the current and previous configuration.
boolean - true if the plugin has or will call updateCtx.processNext(), this allows the plugin to perform any asynchronous operations.
BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins can avoid implementation the same set of boiler plate code as well as provide a base implementation so that new default implementations can be added without breaking all plugins.