Optional
coreThe App Insights core to use for backward compatibility. Therefore the interface will be able to access the core without needing to cast to "any". [optional] any 3rd party plugins which are already implementing this interface don't fail to compile.
Optional
getGet offline support
IInternalOfflineSupport
Readonly
identifierExtension name
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.
Optional
isReturns a value that indicates whether the plugin has already been previously initialized. New plugins should implement this method to avoid being initialized more than once.
Readonly
priorityPriority of the extension
Call 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)
Optional
setSet next extension for telemetry processing, this is not optional as plugins should use the processNext() function of the passed IProcessTelemetryContext instead. It is being kept for now for backward compatibility only.
Optional
teardownTear 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.
Optional
updateThe the plugin should re-evaluate configuration and update any cached configuration settings or plugins. If implemented this method will be called whenever a plugin is added or removed and if the configuration has bee updated.
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.
Optional
Readonly
versionPlugin version (available in data.properties.version in common schema)
Optional
flushFlush to send data immediately; channel should default to sending data asynchronously. If executing asynchronously and
you DO NOT pass a callback function then a IPromise
will be returned which will resolve once the flush is complete. The actual implementation of the IPromise
will be a native Promise (if supported) or the default as supplied by ts-async library
send data asynchronously when true
Optional
callBack: ((flushComplete?: boolean) => void)if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called. If the caller doesn't return true the caller should assume that it may never be called.
Optional
flushComplete: booleanOptional
sendReason: SendRequestReasonspecify the reason that you are calling "flush" defaults to ManualFlush (1) if not specified
true
to indicate that callback will be called after the flush is complete otherwise the caller
should assume that any provided callback will never be called, Nothing or if occurring asynchronously a
IPromise which will be resolved once the unload is complete,
the IPromise will only be returned when no callback is provided
and async is true.Optional
pauseOptional
resume
Provides data transmission capabilities