ApplicationInsights-dotnet/CHANGELOG.md

108 KiB
Исходник Ответственный История

Changelog

VNext

Version 2.15.0-beta2

Version 2.15.0-beta1

Version 2.14.0

  • no changes since beta.

Version 2.14.0-beta5

Version 2.14.0-beta4

Version 2.14.0-beta3

Version 2.14.0-beta2

Version 2.14.0-beta1

Version 2.13.1

Version 2.13.0

  • no changes since beta.

Version 2.13.0-beta2

Version 2.13.0-beta1

Version 2.12.2

Version 2.12.1

Version 2.12.0

Version 2.12.0-beta4

Version 2.12.0-beta3

Version 2.12.0-beta2

Version 2.12.0-beta1


Before 2.12.0, our SDKs had separate repositories.


Version 2.11.0

Version 2.11.0-beta2

Version 2.11.0-beta1

Version 2.10.0

Version 2.10.0-beta4

Version 2.10.0-beta3

  • BASE: No changes. Bumping version to match WebSDK release.

Version 2.10.0-beta2

Version 2.9.1

Version 2.9.0

Version 2.9.0-beta3

Version 2.9.0-beta2

Perf Improvements.

Version 2.8.1

Patch release addressing perf regression.

Version 2.8.0

Version 2.8.0-beta2

Version 2.8.0-beta1

Version 2.7.2

  • BASE: Metrics: Renamed TryTrackValue(..) into TrackValue(..).
  • BASE: Metrics: Removed some superfluous public constants.

Version 2.7.0-beta3

Version 2.7.0-beta2

Version 2.7.0-beta1

version 2.6.4

Version 2.6.1

Version 2.6.0-beta4

Version 2.6.0-beta3

Version 2.6.0-beta2

Version 2.5.1

Version 2.5.0-beta2

Version 2.5.0-beta1

  • BASE: Method Sanitize on classes implementing ITelemetry no longer modifies the TelemetryContext fields. Serialized event json and ETW event will still have context tags sanitized.
  • BASE: Application Insights SDK supports multiple telemetry sinks. You can configure more than one channel for telemetry now.
  • BASE: New method DeepClone on ITelemetry interface. Implemented by all supported telemetry items.
  • BASE: Server telemetry channel NuGet support a netstandard1.3 target with fixed rate sampling and adaptive sampling telemetry processors.
  • BASE: Instrumentation key is no longer required for TelemetryClient to send data to channel(s). This makes it easier to use the SDK with channels other than native Application Insights channels.
  • BASE: .NET 4.0 targets were removed. Please use the version 2.4.0 if you cannot upgrade your application to the latest framework version.
  • BASE: Removed wp8, portable-win81+wpa81 and uap10.0 targets.

Version 2.4.0

  • BASE: Updated version of DiagnosticSource to 4.4.0 stable

Version 2.4.0-beta5

  • BASE: Updated version of DiagnosticSource referenced.

Version 2.4.0-beta4

  • BASE: Made Metric class private and fixed various metrics related issues.

Version 2.4.0-beta3

Version 2.4.0-beta2

  • BASE: Removed metric aggregation functionality as there is not enough feedback on the API surface yet.

Version 2.4.0-beta1

  • BASE: Event telemetry is set to be sampled separately from all other telemetry types. It potentially can double the bill. The reason for this change is that Events are mostly used for usage analysis and should not be subject to sampling on high load of requests and dependencies. Edit ApplicationInsights.config file to revert to the previous behavior.
  • BASE: Added dependency on System.Diagnostics.DiagnosticsSource package. It is still possible to use standalone Microsoft.ApplicationInsights.dll to track telemetry.
  • BASE: StartOperation starts a new System.Diagnostics.Activity and stores operation context in it. StartOperation overwrites OperationTelemetry.Id set before or during telemetry initialization for the dependency correlation purposes.
  • BASE: OperationCorrelationTelemetryInitializer initializes telemetry from the Activity.Current. Please refer to https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/ActivityUserGuide.md for more details about Activity and how to use it
  • BASE: Request.Success field will not be populated based on ResponseCode. It needs to be set explicitly.
  • BASE: New "ProblemId" property on ExceptionTelemetry. It can be used to set a custom ProblemId value.
  • BASE: Metric Aggregation functionality (originally added in 2.3.0-beta1 but removed in 2.3.0) is re-introduced.
  • BASE: Improved exception stack trace data collection for .NET Core applications.

Version 2.3.0

Version 2.3.0-beta3

Version 2.3.0-beta2

  • BASE: Added constructor overloads for TelemetryConfiguration and added creation of a default InMemoryChannel when no channel is specified for a new instance. TelemetryClient will no longer create an InMemoryChannel on the configuration instance if TelemetryChannel is null, instead the configuration instances will always have a channel when created.
  • BASE: TelemetryConfiguration will no longer dispose of user provided ITelemetryChannel instances. Users must properly dispose of any channel instances which they create, the configuration will only auto-dispose of default channel instances it creates when none are specified by the user.

Version 2.3.0-beta1

  • BASE: Added metric aggregation functionality via MetricManager and Metric classes.
  • BASE: Exposed a source field on RequestTelemetry. This can be used to store a representation of the component that issued the incoming http request.

Version 2.2.0

  • BASE: Includes all changes since 2.1.0 stable release.

Version 2.2.0-beta6

Version 2.2.0-beta5

  • BASE: Moved from PCL dotnet5.4 to .NET Core NetStandard1.5.
  • BASE: Updated dependency versions.

Version 2.2.0-beta4

  • BASE: Payload sanitization for RichPayloadEventSource.
  • BASE: Fix to fallback to an environment variable for instrumentation key when not specified when initializing TelemetryConfiguration.
  • BASE: RoleInstance and NodeName are initialized with the machine name by default.

Version 2.2.0-beta3

  • BASE: Read InstrumentationKey from environment variable APPINSIGHTS_INSTRUMENTATIONKEY if it is was not provided inline. If provided it overrides what is set though configuration file. (Feature is not available in PCL version of SDK).
  • BASE: Context properties NetworkType, ScreenResolution and Language marked as obsolete. Please use custom properties to report network type, screen resolution and language. Values stored in these properties will be send as custom properties.
  • BASE: Dependency type was updated to reflect the latest developments in Application Insights Application Map feature. You can set a new field - Target. CommandName was renamed to Data for consistency with the Application Analytics schema. DependencyKind will never be send any more and will not be set to "Other" by default. Also there are two more constructors for DependencyTelemetry item.
  • BASE: Type SessionStateTelemetry was marked obsolete. Use IsFirst flag in SessionContext to indicate that the session is just started.
  • BASE: Type PerformanceCounterTelemetry was marked obsolete. Use MetricTelemetry instead.
  • BASE: Marked RequestTelemetry.HttpMethod as obsolete. Put http verb as part of the name for the better grouping by name and use custom properties to report http verb as a dimension.
  • BASE: Marked RequestTelemetry.StartTime as obsolete. Use TimeStamp instead.
  • BASE: Removed BCL dependency
  • BASE: Added IPv6 support
  • BASE: Fixed an issue where channels sent expired data from storage
  • BASE: Fixed an issue where the clock implementation would accumulate error
  • BASE: Fixed an issue where telemetry with emptry properties would be dropped
  • BASE: Added support for SDK-side throttling

Version 2.2.0-beta2

  • BASE: InMemoryChannel has a new override for Flush method that accepts timeout.
  • BASE: Local storage folder name was changed. That means that when the application stopped, and the application was updated to the new SDK, then the telemetry from the old local folder will not be send.
  • BASE: Allow all characters in property names and measurements names.
  • BASE: AdaptiveTelemetryProcessor has a new property IncludedTypes. It gets or sets a semicolon separated list of telemetry types that should be sampled. If left empty all types are included implicitly. Types are not included if they are set in ExcludedTypes.
  • BASE: Richpayload event source event is generated for all framework versions of SDK (before it was supported in 4.6 only)
  • BASE: TelemetryClient has a new method TrackAvailability. Data posted using this method would be available in AppAnalitics only, Azure portal UI is not available at this moment.

Version 2.2.0-beta1

  • BASE: Add ExceptionTelemetry.Message property. If it is provided it is used instead of Exception.Message property for the outer-most exception.
  • BASE: Telemetry types can be excluded from sampling by specifing ExcludedTypes property.
  • BASE: 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 stops flowing till application gets restarted)

Version 2.1.0-beta4

Version 2.1.0-beta3

  • BASE: 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).
  • BASE: Bug fixes

Version 2.1.0-beta1

  • BASE: Upgraded to depend on EventSource.Redist nuget version 1.1.28
  • BASE: Upgraded to depend on Microsoft.Bcl nuget version 1.1.10

Version 2.0.1

  • BASE: 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.

Version 2.0.0

  • BASE: Disallow Nan, +-Infinity measurements. Value will be replaced on 0.
  • BASE: Disallow Nan, +-Infinity metrics (Value, Min, Max and StandardDeviation). Values will be replaced on 0.

Version 2.0.0-rc1

  • BASE: Writing telemetry items to debug output can be disabled with IsTracingDisabled property on TelemetryDebugWriter. Telemetry items that were filtered out by sampling are now indicated in debug output. Custom telemetry processors can now invoke method WriteTelemetry on TelemetryDebugWriter with filteredBy parameter to indicate in debug output that an item is being filtered out.
  • BASE: DependencyTelemetry.Async property was removed.
  • BASE: DependencyTelemetry.Count property was removed.
  • BASE: When configuration is loaded from ApplicationInsights.config incorrect and broken elements are skipped. That includes both high level elements like TelemetryInitializers as well as individual properties.
  • BASE: Internal Application Insights SDK traces will be marked as synthetic and have SyntheticSource equals to 'SDKTelemetry'.
  • BASE: UserContext.AcquisitionDate property was removed.
  • BASE: UserContext.StoreRegion property was removed.
  • BASE: InMemoryChannel.DataUploadIntervalInSeconds was removed. Use SendingInterval instead.
  • BASE: DeviceContext.RoleName was removed. Use DeviceContext.Cloud.RoleName instead.
  • BASE: DeviceContext.RoleInstance was removed. Use DeviceContext.Cloud.RoleInstance instead.

Version 2.0.0-beta4

  • BASE: UseSampling and UseAdaptiveSampling extensions were moved to Microsoft.ApplicationInsights.Extensibility
  • BASE: Cut Phone and Store support
  • BASE: Updated DependencyTelemetry to have new properties ResultCode and Id
  • BASE: 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).
  • BASE: ServerTelemetryChannel has new property StorageFolder 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.
  • BASE: TelemetryConfiguration.GetTelemetryProcessorChainBuilder extension method is removed. Instead of this method use TelemetryConfiguration.TelemetryProcessorChainBuilder instance method.
  • BASE: TelemetryConfiguration has a new property TelemetryProcessors that gives readonly access to TelemetryProcessors collection.
  • BASE: Use, UseSampling and UseAdaptiveSampling preserves TelemetryProcessors loaded from configuration.

Version 2.0.0-beta3

  • BASE: Adaptive sampling turned on by default in server telemetry channel. Details can be found in #80.
  • BASE: Fixed signature of UseSampling to allow chaining with other calls to Use of telemetry processors.
  • BASE: Property Request.ID returned back. OperationContext now has a property ParentId for end-to-end correlation.
  • BASE: TimestampTelemetryInitializer is removed. Timestamp will be added automatically by TelemetryClient.
  • BASE: OperationCorrelationTelemetryInitializer is added by default to enable operaitons correlation.

Version 2.0.0-beta2

  • BASE: Fix UI thread locking when initializing InMemoryChannel (default channel) from UI thread.
  • BASE: Added support for ITelemetryProcessor and ability to construct chain of TelemetryProcessors via code or config.
  • BASE: Version of Microsoft.ApplicationInsights.dll for the framework 4.6 is now part of the package.
  • BASE: IContextInitializer interface is not supported any longer. ContextInitializers collection was removed from TelemetryConfiguration object.
  • BASE: The max length limit for the Name property of EventTelemetry was set to 512.
  • BASE: Property Name of OperationContext was renamed to RootName
  • BASE: Property Id of RequestTelemetry was removed.
  • BASE: Property Id and Context.Operation.Id of RequestTelemetry would not be initialized when creating new RequestTelemetry.
  • BASE: New properties of OperationContext: CorrelationVector, ParentId and RootId to support end-to-end telemetry items correlation.

Version 2.0.0-beta1

  • BASE: TrackDependency will produce valid JSON when not all required fields were specified.
  • BASE: Redundant property RequestTelemetry.ID is now just a proxy for RequestTelemetry.Operation.Id.
  • BASE: New interface ISupportSampling and explicit implementation of it by most of data item types.
  • BASE: Count property on DependencyTelemetry marked as Obsolete. Use SamplingPercentage instead.
  • BASE: New CloudContext introduced and properties RoleName and RoleInstance moved to it from DeviceContext.
  • BASE: New property AuthenticatedUserId on UserContext to specify authenticated user identity.

Version 1.2.3

  • BASE: Bug fixes.
  • BASE: Telemetry item will be serialized to Debug Output even when Instrumentation Key was not set.

Version 1.2

  • BASE: First version shipped from github

Version 1.1

  • BASE: SDK now introduces new telemetry type DependencyTelemetry which contains information about dependency call from application
  • BASE: New method TelemetryClient.TrackDependency allows to send information about dependency calls from application

Version 0.17

  • BASE: 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" />
  • BASE: 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.
  • BASE: ApplicationInsights.config file search order was changed. File from the bin/ folder will no longer be used even if exists for the web applications.
  • BASE: Nullable properties are now supported in ApplicationInsights.config.
  • BASE: DeveloperMode property of ITelemetryChannel interface became a nullable bool.

Version 0.16

  • BASE: SDK now supports dnx target platform to enable monitoring of .NET Core framework applications.
  • BASE: Instance of TelemetryClient do not cache Instrumentation Key anymore. Now if instrumentation key wasn't set to TelemetryClient explicitly InstrumentationKey will return null. It fixes an issue when you set TelemetryConfiguration.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.

Version 0.15

  • BASE: New property Operation.SyntheticSource now available on TelemetryContext. 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.
  • BASE: Channel logic was moved to the separate NuGet called Microsoft.ApplicationInsights.PersistenceChannel. Default channel is now called InMemoryChannel
  • BASE: New method TelemetryClient.Flush allows to flush telemetry items from the buffer synchronously

Version 0.13

No release notes for older versions available.


Version 2.11.2

Version 2.11.1

Version 2.11.0

Version 2.11.0-beta2

Version 2.11.0-beta1

Version 2.10.0

  • WEB: Updated Base SDK to 2.10.0

Version 2.10.0-beta4

  • WEB: Updated Base SDK to 2.10.0-beta4

Version 2.10.0-beta3

Version 2.10.0-beta2

  • WEB: Updated Base SDK to 2.10.0-beta2

Version 2.9.1

  • WEB: Updates Base SDK to version 2.9.1

Version 2.9.0

Version 2.9.0-beta3

Version 2.9.0-beta1

Version 2.8.0-beta2

Version 2.8.0-beta1

Version 2.7.2

Version 2.7.0-beta4

Version 2.7.0-beta3

Version 2.7.0-beta1

Version 2.6.0-beta4

Version 2.6.0-beta3

Version 2.6.0-beta2

Version 2.5.0

Version 2.5.0-beta2

Project

Version 2.5.0-beta1

Project

  • WEB: install.ps1 is now signed
  • WEB: increase max allowed runtime of functional tests
  • WEB: fix for "project system has encountered an error"

Version 2.4.1

Version 2.4.0

  • WEB: Updated version of DiagnosticSource to 4.4.0

Version 2.4.0-beta5

  • WEB: Updated version of DiagnosticSource referenced.

Version 2.4.0-beta4

  • WEB: Bug fixes.

Version 2.4.0-beta3

Version 2.4.0-beta2

Version 2.4.0-beta1

  • WEB: Report status code for the dependencies failed with non-protocol issue like DNS resolution or SSL shakeup problems.
  • WEB: Implemented automatic telemetry correlation: all telemetry reported within the scope of the request is correlated to RequestTelemetry reported for the request.
  • WEB: Implemented Correlation HTTP protocol: default headers to pass Operation Root Id and Parent Id were changed. This version is backward compatible with previously supported headers.
  • WEB: Implemented injection into the HTTP stack for .NET 4.6 to leverage DiagnosticSource to gain access to the WebRequest and WebResponse objects for header injections, without the need of using the profiler.
  • WEB: Dependency to System.Diagnostics.DiagnosticsSource package is added for Web SDK on .NET 4.5.
  • WEB: Improvements to exception statistics, e.g. 2 of each type of exception will be output via TrackException
  • WEB: New AspNetDiagnosticTelemetryModule introduced for Web SDK on .NET 4.5, it consumes events from Microsoft.AspNet.TelemetryCorrelation package about incoming Http requests.
  • WEB: Dependency to Microsoft.AspNet.TelemetryCorrelation package is added for Web SDK on .NET 4.5.
  • WEB: Report new performance counter \Process(??APP_WIN32_PROC??)% Processor Time Normalized that represents process CPU normalized by the processors count

Version 2.3.0

  • WEB: Includes all changes since 2.2.0 stable release.
  • WEB: Exception statistics feature introduced in beta version is removed.

Version 2.3.0-beta3

Version 2.3.0-beta2

  • WEB: Automatic collection of first chance exceptions statistics. Use a query like this in Application Analytics to query for this statistics:
    customMetrics
    | where timestamp > ago(5d)
    | where name == "Exceptions thrown" 
    | extend type = tostring(customDimensions.type), method = tostring(customDimensions.method), operation = tostring(customDimensions.operation) 
    | summarize sum(value), sum(valueCount) by type, method, operation 
    
  • WEB: Add dependency collection for System.Data.SqlClient.SqlConnection.Open and System.Data.SqlClient.SqlConnection.OpenAsync by Profiler instrumentation. Dependencies are sent only for failed connections.
  • WEB: Top 5 CPU reporting for Live Metrics Stream (aka QuickPulse). QuickPulseTelemetryModule now reports the names and CPU consumption values of top 5 CPU consuming processes.

Version 2.3.0-beta1

  • WEB: Added the ability to correlate http request made between different components represented by different application insights resources. This feeds into the improved application map experience.

Version 2.2.0

Version 2.2.0-beta6

Version 2.2.0-beta4

  • WEB: DomainNameRoleInstanceTelemetryInitializer is obsolete. Role instance is still populated with machine name as it was before.
  • WEB: New AzureWebAppRoleEnvironmentTelemetryInitializer telemetry initializer that populates role name and role instance name for Azure Web Apps.
  • WEB: Support of performance collection and live metrics for Azure Web Apps is enabled.

Version 2.2.0-beta3

  • WEB: New property DefaultCounters in PerformanceCollectorModule to control the list of standard counters that will be collected
  • WEB: Default performance counters will be reported as metrics
  • WEB: When you instantiate DependencyTrackingTelemetryModule in code it will not detect certain http dependencies as Azure Storage calls. You need to register a telemetry initializer HttpDependenciesParsingTelemetryInitializer to enable this functionality. This telemetry initializer will be registered automatically during NuGet installation.
  • WEB: DependencyCollection nuget package was updated to Agent.Intercept nuget version 2.0.5.
  • WEB: The list of userAgent substrings that indicate that traffic is from a synthetic source was minimized for performance reasons. If you want to include more substrings please add them under SyntheticUserAgentTelemetryInitializer/Filters. (List of filters that were used before is saved as a comment in the configuration file)
  • WEB: Added HTTP dependencies parsing support for Azure tables, queues, and services (.svc & .asmx).
  • WEB: Added automatic collection of source component correlation id (instrumenation key hash) for incoming requests and target component correlation id for dependencies.

Version 2.2.0-beta2

  • WEB: DependencyCollection nuget package was updated to Agent.Intercept nuget version 2.0.1. Agent.Intercept nuget was updated to EventSource.Redist version 1.1.28.
  • WEB: SQL dependencies will have SQL error message being added to custom properties collection if application uses profiler instrumentation (either instrumented with StatusMonitor or just have StatusMonitor on the box with the app)
  • WEB: Allow all characters in custom counters ReportAs property.
  • WEB: QuickPulse (Live Metrics Stream) was updated to include Live Failures

Version 2.2.0-beta1

  • WEB: ResultCode for successful Sql calls will be collected as 0 (before it was not sent).
  • WEB: Fixed ResultCode sometimes not being collected for failed dependencies
  • WEB: RequestTelemetry.UserAgent is collected automatically.

Version 2.1.0-beta4

  • WEB: No code changes. Updated to Core 2.1-beta4.

Version 2.1.0-beta3

  • WEB: Remove support for HTTP dependencies in .NET 4.5.2 (4.5.2 applications running on 4.5.2; 4.5.2 applications running on 4.6 are still supported) without Status Monitor on the box.
  • WEB: Add http verb to dependency name collected by SDK without Status Monitor on the box

Version 2.1.0-beta2

  • WEB: Http requests to LiveMetricsStream (Feature not surfaced in UI yet) backend were tracked as dependencies. They will be filtered out starting this version.
  • WEB: There are no other changes

Version 2.1.0-beta1

  • WEB: Upgraded to depend on EventSource.Redist nuget version 1.1.28
  • WEB: Upgraded to depend on Microsoft.Bcl nuget version 1.1.10
  • WEB: LiveMetricsStream feature is introduced (Not surfaced in UI yet)

Version 2.0.0

  • WEB: Performance counter collection is no longer supported when running under IIS Express.

Version 2.0.0-rc1

Dependencies:

  • WEB: Http dependency success is determined on the base of http status code. Before it was true if there was no exception. But when one uses HttpClient there is no exceptions so all dependencies were marked as successful. Also in case if response is not available status code was set to -1. Now now status code will be reported.

Version 2.0.0-beta4

Web:

  • WEB: WebApps AlwaysOn requests with ResponseCode less than 400 will be filtered out.
  • WEB: User agent and request handler filters can be configured. Previous behavior filtered out only a default set of request handlers and user agent strings, now custom filters can be added to the ApplicationInsights.config file through the TelemetryProcessors section. Telemetry for requests with HttpContext.Current that matches these filters will not be sent.
  • WEB: If multiple simultaneous calls are made on a SqlCommand object, only one dependency is recorded. The second call will be failed immediately by SqlCommand and will not be recorded as a dependency.

Version 2.0.0-beta3

Web:

  • WEB: Use OperationCorrelationTelemetryInitializer instead of OperationIdTelemetryInitializer
  • WEB: User Agent and Client IP will not be collected by default. User Agent telemetry initializer was removed
  • WEB: DependencyTelemetry.Async field will not be collected by dependency collector telemetry module
  • WEB: Static content and diagnostics requests will not be collected by request telemetry module. Use HandlersToFilter of RequestTrackingTelemetryModule collection to filter out requests generated by certain http handlers
  • WEB: Autogenerated request telemetry is accessible though HttpContext extension method: System.Web.HttpContextExtension.GetRequestTelemetry

Version 2.0.0-beta2

Web:

  • WEB: RequestTelemetry.Name is not initialized any longer. RequestTelemetry.Context.Operaiton.Name will be used instead.
  • WEB: Response code 401 is part of the normal authentication handshake and will result in a succesfull request.

WindowsServer

  • WEB: DeviceTelemetryInitializer is not installed by default any more.

Version 2.0.0-beta1

Web:

  • WEB: Added Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer that initialize authenticated user context as set by Javascript SDK.
  • WEB: Added Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ITelemetryProcessor and fixed-rate Sampling support as an implementation of it.
  • WEB: Added Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.TelemetryChannelBuilder that allows creation of a Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel with a set of Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ITelemetryProcessor.

Version 1.2.0

Web:

  • WEB: Telemetry initializers that do not have dependencies on ASP.NET libraries were moved to the new dependency nuget "Microsoft.ApplicationInsights.WindowsServer"
  • WEB: Microsoft.ApplicationInsights.Web.dll was renamed on Microsoft.AI.Web.dll
  • WEB: Microsoft.Web.TelemetryChannel nuget was renamed on Microsoft.WindowsServer.TelemetryChannel. TelemetryChannel assembly was also renamed.
  • WEB: All namespaces that are part of Web SDK were changed to exlude "Extensibility" part. That incudes all telemetry initializers in applicationinsights.config and ApplicationInsightsWebTracking module in web.config.

Dependencies:

  • WEB: Dependencies collected using runtime instrumentaiton agent (enabled via Status Monitor or Azure WebSite extension) will not be marked as asynchronous if there are no HttpContext.Current on the thread.
  • WEB: Property SamplingRatio of DependencyTrackingTelemetryModule does nothing and marked as obsolete.

Performance Counters

  • WEB: Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector assembly was renamed on Microsoft.AI.PerfCounterCollector

WindowsServer

  • WEB: First version of the package. The package has common logic that will be shared between Web and Non-Web Windows applications.

Version 1.0.0

Web:

  • WEB: Moved telemetry initializers and telemetry modules from separate sub-namespaces to the root Microsoft.ApplicationInsights.Extensibility.Web namespace.
  • WEB: Removed "Web" prefix from names of telemetry initializers and telemetry modules because it is already included in the Microsoft.ApplicationInsights.Extensibility.Web namespace name.
  • WEB: Moved DeviceContextInitializer from the Microsoft.ApplicationInsights assembly to the Microsoft.ApplicationInsights.Extensibility.Web assembly and converted it to an ITelemetryInitializer.

Dependencies:

  • WEB: Change namespace and assembly names from Microsoft.ApplicationInsights.Extensibility.RuntimeTelemetry to Microsoft.ApplicationInsights.Extensibility.DependencyCollector for consistency with the name of the NuGet package.
  • WEB: Rename RemoteDependencyModule to DependencyTrackingTelemetryModule.

Performance Counters

  • WEB: Rename 'CustomPerformanceCounterCollectionRequest' to 'PerformanceCounterCollectionRequest'.

Version 0.17

Web:

  • WEB: Removed dependency to EventSource NuGet for the framework 4.5 applications.
  • WEB: Anonymous User and Session cookies will not be generated on server side. Telemetry modules WebSessionTrackingTelemetryModule and WebUserTrackingTelemetryModule are no longer supported and were removed from ApplicationInsights.config file. Cookies from JavaScript SDK will be respected.
  • WEB: Persistence channel optimized for high-load scenarios is used for web SDK. "Spiral of death" issue fixed. Spiral of death is a condition when spike in telemetry items count that greatly exceeds throttling limit on endpoint will lead to retry after certain time and will be throttled during retry again.
  • WEB: Developer Mode is optimized for production. If left by mistake it will not cause as big overhead as before attempting to output additional information.
  • WEB: Developer Mode by default will only be enabled when application is under debugger. You can override it using DeveloperMode property of ITelemetryChannel interface.

Dependencies:

  • WEB: Removed dependency to EventSource NuGet for the framework 4.5 applications.

Performance Counters

  • WEB: Diagnostic messages pertaining to performance counter collection are now merged into a single unified message that is logged at application start-up. Detailed failure information is still available through PerfView.

Version 0.15

Web:

  • WEB: Application Insights Web package now detects the traffic from Availability monitoring of Application Insights and marks it with specific SyntheticSource property.

Version 0.13

No release notes for older versions available.


Version 2.11.0

  • LOGGING: Update Base SDK to 2.11.0
  • LOGGING: Update System.Diagnostics.DiagnosticSource to 4.6.0.

Version 2.11.0-beta2

  • LOGGING: Update Base SDK to version 2.11.0-beta2
  • LOGGING: Update System.Diagnostics.DiagnosticSource to 4.6.0-preview7.

Version 2.11.0-beta1

  • LOGGING: Update Base SDK to version 2.11.0-beta1

Version 2.10.0

  • LOGGING: Update Base SDK to version 2.10.0

Version 2.10.0-beta4

Version 2.9.1

  • LOGGING: Update Base SDK to version 2.9.1

Version 2.9.0

  • LOGGING: Update Base SDK to version 2.9.0

Version 2.9.0-beta3

Version 2.8.1

  • LOGGING: Update BaseSdk reference to 2.8.1. See release notes for more information.

Version 2.7.2

Version 2.6.4

Version 2.6.0-beta3

Version 2.6.0-beta2

Version 2.5.0

Version 2.4.0

  • LOGGING: Update Application Insights API reference to [2.4.0]

Version 2.4.0-beta1/2

  • LOGGING: Update Application Insights API reference to [2.4.0-beta3]
  • LOGGING: Added support for logs from EventSource, ETW and Diagnostic Source.

Version 2.1.1

  • LOGGING: Update NLog reference to 4.3.8

Version 2.1.0

  • LOGGING: For NLog and Log4Net when exception is traced with a custom message, custom message is added to the properties collection and reported to ApplicationInsights.
  • LOGGING: Update Application Insights API reference to 2.1.0
  • LOGGING: Update NLog reference to 4.3.5

Version 2.0.0

  • LOGGING: Update Application Insights API reference to 2.0.0
  • LOGGING: Update NLog reference to 4.2.3
  • LOGGING: Update Log4Net reference to 2.0.5 (1.2.15)
  • LOGGING: NLog: support Layout

Version 1.2.6

  • LOGGING: Bug fixes
  • LOGGING: log4Net: Collect log4net properties as custom properties. UserName is not a custom property any more (It is collected as telemetry.Context.User.Id). Timestamp is not a custom property any more.
  • LOGGING: NLog: Collect NLog properties as custom properties. SequenceID is not a custom property any more (It is collected as telemetry.Sequence). Timestamp is not a custom property any more.

Version 1.2.5

  • LOGGING: First open source version: References Application Insights API version 1.2.3 or higher.

Version 2.8.2

  • NETCORE: Updated Web SDK to 2.11.2

Version 2.8.1

  • NETCORE: Updated Web SDK to 2.11.1

Version 2.8.0

  • NETCORE: Updated Base SDK/Web SDK/Logging Adaptor SDK to 2.11.0
  • NETCORE: Updated System.Diagnostics.DiagnosticSource to 4.6.0

Version 2.8.0-beta3

Version 2.8.0-beta2

Version 2.8.0-beta1

Version 2.7.1

Version 2.7.0

Version 2.7.0-beta4

Version 2.7.0-beta3

Version 2.7.0-beta2

  • NETCORE: Added NetStandard2.0 target.
  • NETCORE: Updated Web/Base SDK version dependency to 2.10.0-beta2

Version 2.6.1

  • NETCORE: Updated Web/Base SDK version dependency to 2.9.1

Version 2.6.0

Version 2.6.0-beta3

Version 2.6.0-beta2

  • NETCORE: Updated Web/Base SDK version dependency to 2.9.0-beta2

Version 2.6.0-beta1

  • NETCORE: Updated Web/Base SDK version dependency to 2.9.0-beta1

Version 2.5.1

  • NETCORE: Update Web/Base SDK version dependency to 2.8.1

Version 2.5.0

  • NETCORE: Traces logged via ILogger is marked with SDK version prefix ilc (.net core) or ilf (.net framework).
  • NETCORE: Update Web/Base SDK version dependency to 2.8.0

Version 2.5.0-beta2

Version 2.5.0-beta1

Version 2.4.1

Version 2.4.0

  • NETCORE: Updated Web/Base SDK version dependency to 2.7.1

Version 2.4.0-beta4

Version 2.4.0-beta3

Version 2.4.0-beta2

  • NETCORE: Updated Web/Base SDK version dependency to 2.7.0-beta2

Version 2.4.0-beta1

Version 2.3.0

Version 2.3.0-beta2

Version 2.3.0-beta1

Version 2.2.1

  • NETCORE: Updated Web/Base SDK version dependency to 2.5.1 which addresses a bug.

Version 2.2.0

  • NETCORE: Updated Web/Base SDK version dependency to 2.5.0

Version 2.2.0-beta3

Version 2.2.0-beta2

  • NETCORE: Same bits as beta1. Only change is that the symbols for the binaries are indexed in Microsoft symbol servers. Beta1 symbols will not be available.

Version 2.2.0-beta1

  • NETCORE: Project is upgraded to work with Visual Studio 2017. Also projects are modified to use csproj instead of project.json.
  • NETCORE: Adaptive sampling enabled for both - full framework and .NET Core applications.
  • NETCORE: ServerTelemetryChannel is enabled and set as default channel for both - full framework and .NET Core applications.
  • NETCORE: Live metrics collection is enabled by default for .NET Core applications (was already enabled for full .NET applications).
  • NETCORE: Updated Web/Base SDK version dependency to 2.5.0-beta1.
  • NETCORE: DependencyCollector referred from 2.5.0-beta1 supports collecting SQL dependency calls in .NET Core Applications using EntityFramework.

Version 2.1.1

Version 2.1.0

  • NETCORE: Updated SDK version dependency to 2.4.0.
  • NETCORE: Fixed a minor logging message issue.
  • NETCORE: Fixed unit test reliability issues.

Version 2.1.0-beta6

  • NETCORE: Updated SDK version dependency to 2.4.0-beta5.

Version 2.1.0-beta5

Version 2.1.0-beta4

Version 2.1.0-beta3

Version 2.1.0-beta2

  • NETCORE: Updated to use the new correlation headers and changed the correlationId to use appId instead of hashed ikey to match other SDKs.
  • NETCORE: Fixed null reference exception for unitialized ILogger.
  • NETCORE: Unit test bug fixes.
  • NETCORE: Upgraded NETStandard.Library dependency to 1.6.1.
  • NETCORE: Updated to reference base SDK 2.4.0-beta2.
  • NETCORE: Included Microsoft.ApplicationInsights.DependencyCollector for .NET Core.

Version 2.1.0-beta1

Version 2.0.0

Version 2.0.0-beta1

  • NETCORE: This release contains a rewrite of the SDK internals for better .NET Core integration and initialization.
  • NETCORE: The methods UseApplicationInsightsRequestTelemetry and UseApplicationInsightsExceptionTelemetry are obsolete, the work those methods did is handled automatically internally now. You can just delete any existing references to them from Startup.cs.
  • NETCORE: The MVC dependency for the JavaScript snippet has been removed so in order to include the JavaScript snippet now you need to insert the following lines at the very top of the _Layout.cshtml file:
    @using Microsoft.ApplicationInsights.AspNetCore
    @inject JavaScriptSnippet snippet
  • NETCORE: and insert the following line before the closing </head> tag:
    @Html.Raw(snippet.FullScript)

Version 1.0.3-beta1

  • NETCORE: New AzureWebAppRoleEnvironmentTelemetryInitializer telemetry initializer that populates role name and role instance name for Azure Web Apps.

Version 1.0.2

  • NETCORE: Marked code analysis packages as only for build and not NuGet package dependencies.

Version 1.0.1

  • NETCORE: Added code analysis packages.
  • NETCORE: Updated JavaScript snippet.
  • NETCORE: Updated project link and added privacy statement link.
  • NETCORE: Added culture to string operations.
  • NETCORE: Switched TelemetryClient service registration to Singleton.
  • NETCORE: Added after build target to patch XML doc files with language attribute.
  • NETCORE: Updated .NET Core references to 1.0.1.

Version 1.0.0

Features:

  • NETCORE: request tracking
  • NETCORE: exception tracking
  • NETCORE: diagnostic tracing
  • NETCORE: dependency collection (.NET framework only)
  • NETCORE: performance counter collection (.NET framework only)
  • NETCORE: adaptive sampling (.NET framework only)
  • NETCORE: telemetry processors (.NET framework only)
  • NETCORE: metrics stream (.NET framework only)

Depends on:

Version 1.0.0-rc2-final

All the changes from 1.0.0-rc1-update4, including the following updates:

  • NETCORE: Renaming: Microsoft.ApplicationInsights.AspNet is changed to Microsoft.ApplicationInsights.AspNetCore
  • NETCORE: Runtime: Supports .NET Core CLI runtime. Does not support DNX runtime and the associated RC1 bits.
  • NETCORE: Supports ASP.NET Core on .NET Core and the .NET Framework
  • NETCORE: Dependencies are updated to the latest RC2 bits.
  • NETCORE: Metrics Stream functionality is enabled by default in .NET Framework
  • NETCORE: Install from https://www.nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore

Version 1.0.0-rc1-update4

  • NETCORE: Windows Server Telemetry Channel is enabled in full framework to send telemetry, and it uses Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel, version: 2.1.0-beta3
  • NETCORE: Diagnostic tracing using EventSource is enabled
  • NETCORE: TelemetryConfiguration.Active is used as the default telemetry configuration
  • NETCORE: Adaptive Sampling by default is enabled in full framework
  • NETCORE: Using telemetry processors is enabled in full framework
  • NETCORE: ApplicationInsightsServiceOptions is available to configure default adaptive sampling behavior
  • NETCORE: ComponentVersionTelemetryInitializer is added, that reads the application version from project.json and assigns it to telemetry.Context.Component.Version
  • NETCORE: All Microsoft.ApplicationInsights.* dependencies are updated to the latest version (2.1.0-beta3)

Version 1.0.0-rc1-update3

  • NETCORE: Update Application Insights Core dependency (Microsoft.ApplicationInsights) to the latest stable version (2.0.0).

Version 1.0.0-rc1-update2

  • NETCORE: Fix the dependencies of previously published NuGet package (v1.0.0-rc1-update1)

Version 1.0.0-rc1-update1

  • NETCORE: Support the latest version of Application Insights core sdk (2.0.0-beta4 or greater)
  • NETCORE: Support dependency and performance counter collection in full framework (dnx 4.5.1)

Version 1.0.0-rc1

  • NETCORE: Support ASP.Net 5 RC1 release.
  • NETCORE: Binaries are now strong name signed.

Version 1.0.0-beta8

  • NETCORE: Support Asp.Net 5 beta8

Version 1.0.0-beta7

  • NETCORE: Support ASP.Net5 Beta7
  • NETCORE: Minor bug fixes

Version 1.0.0-beta6

  • NETCORE: Support ASP.Net 5 Beta6
  • NETCORE: Updates to build infrastructure
  • NETCORE: Switch to 1.1 version of Microsoft.ApplicationInsights API

Version 1.0.0-beta5

  • NETCORE: Support ASP.Net 5 Beta5
  • NETCORE: Minor bug fixes
  • NETCORE: Switch to 0.17 version of Microsoft.ApplicationInsights API

Version 0.32.0-beta4

  • NETCORE: Support dnxcore50 applications
  • NETCORE: Change integration points with Visual Studio
  • NETCORE: Minor bug fixes
  • NETCORE: Switch to 0.16 version of Microsoft.ApplicationInsights API

Version 0.31.0-beta4

  • NETCORE: Fixed references to ASP.NET runtime packages.

Version 0.30.0.1-beta

  • NETCORE: Preview version of Application Insights. Supports only full framework. Will compile for core framework, but no events will be sent.