This changelog will be used to generate documentation on release notes page.
- Add ExceptionTelemetry.Message property. If it is provided it is used instead of Exception.Message property for the ounter-most exception.
- Telemetry types can be exluded from sampling by specifing ExcludedTypes property.
- ServerTelemetryChannel: changed backoff logic to be less aggressive, added diagnostics event when backoff logic kicks in and added more tracing. (Done to address issues when data stopps flowing till application gets restarted)
- Support partial success (206) from the Application Insights backend. Before this change SDK may have lost data because some items of the batch were accepted and some items of the batch were asked to be retried (because of burst throttling or intermittent issues).
- Bug fixes
- Upgraded to depend on EventSource.Redist nuget version 1.1.28
- Upgraded to depend on Microsoft.Bcl nuget version 1.1.10
- Add Win Phone, Win Store and UWP targets that include 1.2.3 version of ApplicationInsights.dll. It is included to prevent applications that upgrade to 2.0.0 from crashing. In any case using this nuget for Win Phone, Win Store and UWP targets is not recommended and not supported.
- Disallow Nan, +-Infinity measurements. Value will be replaced on 0.
- Disallow Nan, +-Infinity metrics (Value, Min, Max and StandardDeviation). Values will be replaced on 0.
- Writing telemetry items to debug output can be disabled with
IsTracingDisabled
property onTelemetryDebugWriter
. Telemetry items that were filtered out by sampling are now indicated in debug output. Custom telemetry processors can now invoke methodWriteTelemetry
onTelemetryDebugWriter
withfilteredBy
parameter to indicate in debug output that an item is being filtered out. - DependencyTelemetry.Async property was removed.
- DependencyTelemetry.Count property was removed.
- When configuration is loaded from ApplicationInsights.config incorrect and broken elements are skiped. That includes both high level evelemts like TelemetryInitializers as well as individual properties.
- Internal Application Insights SDK traces will be marked as synthetic and have
SyntheticSource
equals to 'SDKTelemetry'. - UserContext.AcquisitionDate property was removed.
- UserContext.StoreRegion property was removed.
- InMemoryChannel.DataUploadIntervalInSeconds was removed. Use SendingInterval instead.
- DeviceContext.RoleName was removed. Use DeviceContext.Cloud.RoleName instead.
- DeviceContext.RoleInstance was removed. Use DeviceContext.Cloud.RoleInstance instead.
- UseSampling and UseAdaptiveSampling extensions were moved to Microsoft.ApplicationInsights.Extensibility
- Cut Phone and Store support
- Updated
DependencyTelemetry
to have new propertiesResultCode
andId
- If
ServerTelemetryChannel
is initialized programmatically it is required to call ServerTelemetryChannel.Initialize() method. Otherwise persistent storage will not be initialized (that means that if telemetry cannot be sent because of temporary connectivity issues it will be dropped). ServerTelemetryChannel
has new propertyStorageFolder
that can be set either through code or though configuration. If this property is set ApplicationInsights uses provided location to store telemetry that was not sent because of temporary connectivity issues. If property is not set or provided folder is inaccessible ApplicationInsights will try to use LocalAppData or Temp as it was done before.- TelemetryConfiguration.GetTelemetryProcessorChainBuilder extension method is removed. Instead of this method use TelemetryConfiguration.TelemetryProcessorChainBuilder instance method.
- TelemetryConfiguration has a new property TelemetryProcessors that gives readonly access to TelemetryProcessors collection.
Use
,UseSampling
andUseAdaptiveSampling
preserves TelemetryProcessors loaded from configuration.
- Adaptive sampling turned on by default in server telemetry channel. Details can be found in #80.
- Fixed signature of
UseSampling
to allow chaining with other calls toUse
of telemetry processors. - Property
Request.ID
returned back.OperationContext
now has a propertyParentId
for end-to-end coorrelation. TimestampTelemetryInitializer
is removed. Timestamp will be added automatically byTelemetryClient
.OperationCorrelationTelemetryInitializer
is added by default to enable operaitons correlation.
- Fix UI thread locking when initializing InMemoryChannel (default channel) from UI thread.
- Added support for
ITelemetryProcessor
and ability to construct chain of TelemetryProcessors via code or config. - Version of
Microsoft.ApplicationInsights.dll
for the framework 4.6 is now part of the package. - IContextInitializer interface is not supported any longer. ContextInitializers collection was removed from TelemetryConfiguraiton object.
- The max length limit for the
Name
property ofEventTelemetry
was set to 512. - Property
Name
ofOperationContext
was renamed toRootName
- Property
Id
ofRequestTelemetry
was removed. - Property
Id
andContext.Operation.Id
ofRequestTelemetry
would not be initialized when creating newRequestTelemetry
. - New properties of
OperationContext
:CorrelationVector
,ParentId
andRootId
to support end-to-end telemetry items correlation.
- TrackDependency will produce valid JSON when not all required fields were specified.
- Redundant property
RequestTelemetry.ID
is now just a proxy forRequestTelemetry.Operation.Id
. - New interface
ISupportSampling
and explicit implementation of it by most of data item types. Count
property on DependencyTelemetry marked as Obsolete. UseSamplingPercentage
instead.- New
CloudContext
introduced and propertiesRoleName
andRoleInstance
moved to it fromDeviceContext
. - New property
AuthenticatedUserId
onUserContext
to specify authenticated user identity.
- Bug fixes.
- Telemetry item will be serialized to Debug Ouput even when Instrumentation Key was not set.
- First version shipped from github
- SDK now introduces new telemetry type
DependencyTelemetry
which contains information about dependency call from application - New method
TelemetryClient.TrackDependency
allows to send information about dependency calls from application
- Application Insights now distributes separate binaries for framework 4.0 and 4.5. Library for the framework 4.5 will not require EventSource and BCL nuget dependencies. You need to ensure you refer the correct library in
packages.config
. It should be<package id="Microsoft.ApplicationInsights" version="0.17.*" targetFramework="net45" />
- Diagnostics telemetry module is not registered in ApplicationInsights.config and no self-diagnostics messages will be sent to portal for non-web applications. Insert
<Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights" />
to<TelemetryModules>
node to get SDK self-diagnostics messages from your application. - ApplicationInsights.config file search order was changed. File from the bin/ folder will no longer be used even if exists for the web applications.
- Nullable properties are now supported in ApplicationInsights.config.
- DeveloperMode property of
ITelemetryChannel
interface became a nullable bool.
- SDK now supports dnx target platform to enable monitoring of .NET Core framework applications.
- Instance of
TelemetryClient
do not cache Instrumentation Key anymore. Now if instrumentation key wasn't set toTelemetryClient
explicitlyInstrumentationKey
will return null. It fixes an issue when you setTelemetryConfiguration.Active.InstrumentationKey
after some telemetry was already collected, telemetry modules like dependency collector, web requests data collection and performance counters collector will use new instrumentation key.
- New property
Operation.SyntheticSource
now available onTelemetryContext
. Now you can mark your telemetry items as “not a real user traffic” and specify how this traffic was generated. As an example by setting this property you can distinguish traffic from your test automation from load test traffic. - Channel logic was moved to the separate NuGet called Microsoft.ApplicationInsights.PersistenceChannel. Default channel is now called InMemoryChannel
- New method
TelemetryClient.Flush
allows to flush telemetry items from the buffer synchronously
No release notes for older versions available.