Microsoft.ApplicationInsights Initializes a new instance of the class. This constructor is protected because is only meant to be instantiated by the property or by tests. Gets or sets the default instance used by . This property is a test isolation "pinch point" that allows us to test without using reflection. Additional implementation for ExceptionDetails. Creates a new instance of ExceptionDetails from a System.Exception and a parent ExceptionDetails. Encapsulates information describing an Application Insights component. This class matches the "Application" schema concept. We are intentionally calling it "Component" for consistency with terminology used by our portal and services and to encourage standardization of terminology within our organization. Once a consensus is reached, we will change type and property names to match. Gets or sets the application version. Gets or sets the application version. Holds the static singleton instance of ContextTagKeys. Encapsulates information about a device where an application is running. Gets or sets the type for the current device. Gets or sets a device unique ID. Gets or sets the operating system name. Gets or sets the device OEM for the current device. Gets or sets the device model for the current device. Gets or sets the IANA interface type for the internet connected network adapter. Gets or sets the current application screen resolution. Gets or sets the current display language of the operating system. Gets or sets the role name. Gets or sets the role instance. Gets or sets the device IP address. Gets or sets the device VM name. Internal context type shared between SDK and DP. Encapsulates telemetry location information. Gets or sets the location IP. Encapsulates information about a user session. Gets or sets the application-defined operation ID. Gets or sets the application-defined operation NAME. Encapsulates information about a user session. Gets or sets the application-defined session ID. Gets or sets the IsFirst Session for the user. Gets or sets the IsNewSession Session. Base class for tags backed context. Encapsulates information about a user using an application. Sets values on the current context based on the default context passed in. Gets or sets the ID of user accessing the application. Unique user ID is automatically generated in default Application Insights configuration. Gets or sets the ID of an application-defined account associated with the user. Gets or sets the UserAgent of an application-defined account associated with the user. Gets or sets the StoreRegion of an application-defined account associated with the user. Gets or sets the date when the user accessed the application for the first time. Acquisition date is automatically supplied in default Application Insights configuration. Windows Runtime (Phone and Store) implementation of the interface. Encapsulates platform-specific functionality required by the API. This type is public to enable mocking on Windows Phone. Returns a dictionary that can be used to access per-user/per-application settings shared by all application instances. Returns contents of the ApplicationInsights.config file in the application directory. Returns the platform specific object for the given Exception. Returns the platform specific Debugger writer to the VS output console. Represents a communication channel for sending telemetry to Application Insights via HTTPS. There will be a buffer that will not be persisted, to enforce the queued telemetry items to be sent, should be called. Represents a communication channel for sending telemetry to application insights. Sends an instance of ITelemetry through the channel. Flushes the in-memory buffer. Gets or sets a value indicating whether this channel is in developer mode. Gets or sets the endpoint address of the channel. Initializes a new instance of the class. Initializes a new instance of the class. Used in unit tests for constructor injection. The telemetry buffer that will be used to enqueue new events. The in memory transmitter that will send the events queued in the buffer. Sends an instance of ITelemetry through the channel. Will send all the telemetry items stored in the memory. Disposing the channel. Gets or sets a value indicating whether developer mode of telemetry transmission is enabled. Gets or sets the sending interval. Once the interval expires, serializes the accumulated telemetry items for transmission and sends it over the wire. Gets or sets the HTTP address where the telemetry is sent. Gets or sets the maximum telemetry batching interval. Once the interval expires, serializes the accumulated telemetry items for transmission. Gets or sets the maximum number of telemetry items will accumulate in a memory before the serializing them for transmission to Application Insights. A transmitter that will immediately send telemetry over HTTP. Telemetry items are being sent when Flush is called, or when the buffer is full (An OnFull "event" is raised) or every 30 seconds. A lock object to serialize the sending calls from Flush, OnFull event and the Runner. The number of times this object was disposed. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Flushes the in-memory buffer and sends it. Flushes the in-memory buffer and sends the telemetry items in intervals or when is set. Happens when the in-memory buffer is full. Flushes the in-memory buffer and sends the telemetry items. Flushes the in-memory buffer and send it. Serializes a list of telemetry items and sends them. The base telemetry type for application insights. Sanitizes the properties of the telemetry item based on DP constraints. Gets or sets date and time when telemetry was recorded. Gets the context associated with this telemetry instance. Gets or sets the value that defines absolute order of the telemetry item. The sequence is used to track absolute order of uploaded telemetry items. It is a two-part value that includes a stable identifier for the current boot session and an incrementing identifier for each event added to the upload queue: For UTC this would increment for all events across the system. For Persistence this would increment for all events emitted from the hosting process. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. From . Accumulates items for efficient transmission. Delegate that is raised when the buffer is full. Gets or sets the maximum number of telemetry items that can be buffered before transmission. The value is zero or less. Implements an asynchronous transmission of data to an HTTP POST endpoint. Initializes a new instance of the class. Initializes a new instance of the class. This overload is for Test purposes. Executes the request that the current transmission represents. The task to await. Creates a post web request. The Address in the web request. A web request pointing to the Address. Gets the Address of the endpoint to which transmission will be sent. Gets the content of the transmission. Gets the content's type of the transmission. Gets the encoding method of the transmission. Gets a timeout value for the transmission. Gets an id of the transmission. Telemetry type used to track events. Represents an object that supports application-defined properties. Gets a dictionary of application-defined property names and values providing additional information about telemetry. Initializes a new instance of the class. Initializes a new instance of the class with the given . The event is null or empty string. Sanitizes the properties based on constraints. Gets or sets date and time when event was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets the name of the event. Gets a dictionary of application-defined event metrics. Gets a dictionary of application-defined property names and values providing additional information about this event. This enumeration is used by ExceptionTelemetry to identify if and where exception was handled. Exception was not handled. Application crashed. Exception was handled in user code. Exception was handled by some platform handlers. Telemetry type used to track exceptions. Initializes a new instance of the class with empty properties. Initializes a new instance of the class with empty properties. Exception instance. Sanitizes the properties based on constraints. Gets or sets date and time when telemetry was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets the value indicated where the exception was handled. Gets or sets the original exception tracked by this . Gets a dictionary of application-defined exception metrics. Gets a dictionary of application-defined property names and values providing additional information about this exception. Gets or sets Exception severity level. Represents objects that support serialization to JSON. Writes JSON representation of the object to the specified . Encapsulates logic for serializing objects to JSON. . Writes opening/left square bracket. Writes opening/left curly brace. Writes closing/right square bracket. Writes closing/right curly brace. Writes comma. Writes a property. Writes a property. Writes a property. Writes a property. Writes a property. Writes a property. Writes a property. Writes a property. Writes an object property. Writes a property name in double quotation marks, followed by a colon. Writes as raw value directly. This exception is used to notify the user that the set of inner exceptions has been trimmed because it exceeded our allowed send limit. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The message that describes the error. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Telemetry type used to track metrics. Initializes a new instance of the class with empty properties. Initializes a new instance of the class with the specified and . The is null or empty string. Sanitizes the properties based on constraints. Gets or sets date and time when event was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets the name of the metric. Gets or sets the value of this metric. Gets or sets the number of samples for this metric. Gets or sets the min value of this metric. Gets or sets the max value of this metric. Gets or sets the standard deviation of this metric. Gets a dictionary of application-defined property names and values providing additional information about this metric. Telemetry type used to track page views. You can send information about pages viewed by your application to Application Insights by passing an instance of the class to the method. Initializes a new instance of the class. Initializes a new instance of the class with the specified . The is null or empty string. Sanitizes the properties based on constraints. Gets or sets date and time when event was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets the name of the metric. Gets or sets the page view Uri. Gets or sets the page view duration. Gets a dictionary of custom defined metrics. Gets a dictionary of application-defined property names and values providing additional information about this page view. The class that represents information about performance counters. Initializes a new instance of the class. Initializes a new instance of the class. Category name. Performance counter name. Instance name. Performance counter value. Sanitizes the properties based on constraints. Gets or sets date and time when telemetry was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets the counter value. Gets or sets the category name. Gets or sets the counter name. Gets or sets the instance name. Gets a dictionary of application-defined property names and values providing additional information about this exception. The class that represents information about the collected dependency. Initializes a new instance of the class. Initializes a new instance of the class with the given , , , and property values. Sanitizes the properties based on constraints. Gets or sets date and time when telemetry was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets resource name. Gets or sets text of SQL command or empty it not applicable. Gets or sets the dependency type name. Gets or sets the date and time when dependency was called by the application. Gets or sets dependency call duration. Gets or sets request count. Gets or sets a value indicating whether the dependency call was successful or not. Gets or sets a value indicating whether the dependency call was made asynchronously or not. Gets a dictionary of application-defined property names and values providing additional information about this remote dependency. Gets or sets the dependency kind, like SQL, HTTP, Azure, etc. Encapsulates information about a web request handled by the application. You can send information about requests processed by your web application to Application Insights by passing an instance of the class to the method. Initializes a new instance of the class. Initializes a new instance of the class with the given , , , and property values. Sanitizes the properties based on constraints. Gets or sets date and time when telemetry was recorded. Gets or sets the date and time when request was processed by the application. Gets or sets the value that defines absolute order of the telemetry item. Gets the object that contains contextual information about the application at the time when it handled the request. Gets or sets the unique identifier of the request. Gets or sets human-readable name of the requested page. Gets or sets response code returned by the application after handling the request. Gets or sets a value indicating whether application handled the request successfully. Gets or sets the amount of time it took the application to handle the request. Gets a dictionary of application-defined property names and values providing additional information about this request. Gets or sets request url (optional). Gets a dictionary of application-defined request metrics. Gets or sets the HTTP method of the request. Contains values that identify state of a user session. Indicates that a user session started. Indicates that a user session ended. Telemetry type used to track user sessions. Initializes a new instance of the class. Initializes a new instance of the class with the specified . A value indicating state of the user session. Sanitizes this telemetry instance to ensure it can be accepted by the Application Insights. Gets or sets the date and time the session state was recorded. Gets the of the application when the session state was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets or sets the value describing state of the user session. This enumeration is used by ExceptionTelemetry and TraceTelemetry to identify severity level. Verbose severity level. Information severity level. Warning severity level. Error severity level. Critical severity level. Represents a context for sending telemetry to the Application Insights service. Initializes a new instance of the class. Serializes this object in JSON format. Gets or sets the default instrumentation key for all objects logged in this . By default, this property is initialized with the value of the instance of . You can specify it for all telemetry tracked via a particular or for a specific instance. Gets the object describing the component tracked by this . Gets the object describing the device tracked by this . Gets the object describing a user session tracked by this . Gets the object describing a user tracked by this . Gets the object describing a operation tracked by this . Gets the object describing a location tracked by this . Gets a dictionary of application-defined property values. Gets a dictionary of context tags. Telemetry type used for log messages. Contains a time and message and optionally some additional metadata. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Sanitizes the properties based on constraints. Gets or sets date and time when event was recorded. Gets or sets the value that defines absolute order of the telemetry item. Gets the context associated with the current telemetry item. Gets or sets the message text. For example, the text that would normally be written to a log file line. Gets or sets Trace severity level. Gets a dictionary of application-defined property names and values providing additional information about this trace. Represents an object that implements supporting logic for . One type of objects that support is a telemetry source. A telemetry source can supply initial property values for a object during its construction or generate objects during its lifetime. Initializes the given . Encapsulates method call that has to be compiled with DEBUG compiler constant. Write the message to the VisualStudio output window. Checks to see if logging is enabled by an attached debugger. true if a debugger is attached and logging is enabled; otherwise, false. Encapsulates information describing an Application Insights component. This class matches the "Application" schema concept. We are intentionally calling it "Component" for consistency with terminology used by our portal and services and to encourage standardization of terminology within our organization. Once a consensus is reached, we will change type and property names to match. Gets or sets the application version. Encapsulates information about a device where an application is running. Gets or sets the type for the current device. Gets or sets a device unique ID. Gets or sets the operating system name. Gets or sets the device OEM for the current device. Gets or sets the device model for the current device. Gets or sets the IANA interface type for the internet connected network adapter. Gets or sets the current application screen resolution. Gets or sets the current display language of the operating system. Gets or sets the role name. Gets or sets the role instance. Converts a System.Exception to a Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryTypes.ExceptionDetails. Sanitizing stack to 32k while selecting the initial and end stack trace. A highly-accurate, precise and testable clock. A light fixed size queue. If Enqueue is called and queue's limit has reached the last item will be removed. This data structure is thread safe. Encapsulates Internal information. Gets or sets application insights SDK version. Gets or sets application insights agent version. Interface for random number generator capable of producing a batch of unsigned 64 bit random numbers. Serializes and compress the telemetry items into a JSON string. Compression will be done using GZIP, for Windows Phone 8 compression will be disabled because there is API support for it. Serializes and compress the telemetry items into a JSON string. Each JSON object is separated by a new line. The list of telemetry items to serialize. Should serialization also perform compression. The compressed and serialized telemetry items. Serialize and compress a telemetry item. A telemetry item. Should serialization also perform compression. The compressed and serialized telemetry item. Serializes into a JSON string. Each JSON object is separated by a new line. The list of telemetry items to serialize. A JSON string of all the serialized items. Serializes a into a JSON string. The telemetry to serialize. A JSON string of the serialized telemetry. Creates a GZIP compression stream that wraps . For windows phone 8.0 it returns . Serializes and write the response to . Serializes this object in JSON format. Gets the compression type used by the serializer. Writes the specified property name enclosed in double quotation marks followed by a colon. When this method is called multiple times, the second call after and all subsequent calls will write a coma before the name. Encapsulates telemetry location information. Gets or sets the location IP. Encapsulates information about an operation. Operation normally reflects an end to end scenario that starts from a user action (e.g. button click). Gets or sets the application-defined operation ID. Gets or sets the application-defined operation NAME. Gets or sets the application-defined operation SyntheticSource. Provides access to the platform. Gets or sets the current implementation. A helper class for implementing properties of telemetry and context classes. Encapsulates information about a user session. Gets or sets the application-defined session ID. Gets or sets the IsFirst Session for the user. Runs a task after a certain delay and log any error. Represents an infinite time span. Start the task. The task to run. Cancels the current task. Releases unmanaged and - optionally - managed resources. Gets or sets the delay before the task starts. Gets a value indicating whether value that indicates if a task has already started. Normalize instrumentation key by removing dashes ('-') and making string in the lowercase. In case no InstrumentationKey is available just return empty string. In case when InstrumentationKey is available return normalized key + dot ('.') as a separator between instrumentation key part and telemetry name part. Extension methods for TelemetryContext. Returns TelemetryContext's Internal context. Telemetry context to get Internal context for. Internal context for TelemetryContext. Keywords for the PlatformEventSource. Key word for user actionable events. Keyword for errors that trace at Verbose level. Keyword for errors that trace at Verbose level. Keyword for errors that trace at Error level. Subscriber to ETW Event source events, which sends data to other Senders (F5 and Portal). Represents an object that supports initialization from . Initialize method is called after all configuration properties have been loaded from the configuration. Initializes a new instance of the class. Gets or sets diagnostics Telemetry Module LogLevel configuration setting. Gets or sets instrumentation key for diagnostics. Event metadata from event source method attribute. Provides a set of extension methods for tracing. Returns a culture-independent string representation of the given object, appropriate for diagnostics tracing. This class is responsible for sending diagnostics information into VS debug output for F5 experience. Sends diagnostics data to the appropriate output. Information about trace event. VS debug output. Initializes a new instance of the class. A dummy queue sender to keep the data to be sent to the portal before the initialize method is called. This is due to the fact that initialize method cannot be called without the configuration and the event listener write event is triggered before the diagnosticTelemetryModule initialize method is triggered. This class is responsible for sending diagnostics information into portal. Prefix of the traces in portal. For user non actionable traces use AI Internal prefix. Initializes a new instance of the class. Gets or sets instrumentation key for diagnostics (optional). Thread level resource section lock. Thread level lock object. Initializes a new instance of the class. Marks section locked. Release lock. Gets a value indicating whether lock is set on the section. Event Source event wrapper. Contains description information for trace event. Gets or sets event metadata. Gets or sets event event parameters. Defines extension methods that allow coding against without conditional compilation on versions of .NET framework. Returns a value that indicates whether the specified type can be assigned to the current type. This method emulates the built-in method of the class which is not available on Windows Runtime. Returns all the public properties of the specified type. This method emulates the built-in method of the class which is not available on Windows Runtime. Note that, unlike the built-in method, this method does not return properties defined in any of the base types. However, this should be sufficient for our public types, which have to be sealed on Windows Runtime. Encapsulates information about a user using an application. Gets or sets the ID of user accessing the application. Unique user ID is automatically generated in default Application Insights configuration. Gets or sets the ID of an application-defined account associated with the user. Gets or sets the UserAgent of an application-defined account associated with the user. Gets or sets the date when the user accessed the application for the first time. Acquisition date is automatically supplied in default Application Insights configuration. Gets or sets the store region of an application-defined account associated with the user. Generator singleton. Index of the last used random number within pre-generated array. Count of segments of random numbers. Number of random numbers per segment. Number of bits used to store index of the random number within segment. Bit mask to get segment index bits. Bit mask to get index of the random number within segment. Bit mask to get index of the random number in the pre-generated array. Array of random number batch generators (one per each segment). Array of pre-generated random numbers. Initializes a new instance of the class. Initializes generator with a set of random numbers. Initializes generator with a set of random numbers. Factory used to create random number batch generators. Number of significant bits in segment index, i.e. value of 3 means 8 segments of random numbers - 0..7. Number of significant bits in random number index within segment, i.e. value of 10 means 1024 random numbers per segment. Weakly thread safe next (random) operation id generator where 'weakly' indicates that it is unlikely we'll get into collision state. Next operation id. Generates random number batch for segment which just exhausted according to value of the new index. Index in random number array of the random number we're about to return. Generates batches of random number using Xorshift algorithm Note: the base code is from http://www.codeproject.com/Articles/9187/A-fast-equivalent-for-System-Random. Initializes a new instance of the class. Random generator seed value. Generates a batch of random numbers. Buffer to put numbers in. Start index in the buffer. Count of random numbers to generate. Represents an object that initializes objects. The instances use objects to automatically initialize properties of the objects. Initializes properties of the specified object. Initializes SDK Properties: SDK Version and SDKMode. Adds a telemetry property for the version of SDK. Encapsulates the global telemetry configuration typically loaded from the ApplicationInsights.config file. All objects are initialized using the telemetry configuration provided by this class. Creates a new instance loaded from the ApplicationInsights.config file. If the configuration file does not exist, the new configuration instance is initialized with minimum defaults needed to send telemetry to Application Insights. Releases resources used by the current instance of the class. Gets the active instance loaded from the ApplicationInsights.config file. If the configuration file does not exist, the active configuration instance is initialized with minimum defaults needed to send telemetry to Application Insights. Gets or sets the default instrumentation key for the application. The new value is null. This instrumentation key value is used by default by all instances created in the application. This value can be overwritten by setting the property of the . Gets or sets a value indicating whether sending of telemetry to Application Insights is disabled. This disable tracking setting value is used by default by all instances created in the application. Gets the list of objects that supply additional information about application. Context initializers extend Application Insights telemetry collection by supplying additional information about application environment, such as or information that remains constant during application lifetime. A invokes context initializers to obtain initial property values for object during its construction. The default list of context initializers is provided by the Application Insights NuGet packages and loaded from the ApplicationInsights.config file located in the application directory. Gets the list of objects that supply additional information about telemetry. Telemetry initializers extend Application Insights telemetry collection by supplying additional information about individual items, such as . A invokes telemetry initializers each time method is called. The default list of telemetry initializers is provided by the Application Insights NuGet packages and loaded from the ApplicationInsights.config file located in the application directory. Gets or sets the telemetry channel. An that that populates property for the Microsoft internal telemetry sent to the Vortex endpoint. Populates with unique ID and sequential number. This API supports the AI Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class. Gets the TelemetryModules collection. Gets the telemetry modules collection. An that sets to . Sets to . Send events, metrics and other telemetry to the Application Insights service. Initializes a new instance of the class. Send telemetry with the active configuration, usually loaded from ApplicationInsights.config. Initializes a new instance of the class. Send telemetry with the specified . The is null. Check to determine if the tracking is enabled. Send an for display in Diagnostic Search and aggregation in Metrics Explorer. A name for the event. Named string values you can use to search and classify events. Measurements associated with this event. Send an for display in Diagnostic Search and aggregation in Metrics Explorer. An event log item. Send a trace message for display in Diagnostic Search. Message to display. Send a trace message for display in Diagnostic Search. Message to display. Trace severity level. Send a trace message for display in Diagnostic Search. Message to display. Named string values you can use to search and classify events. Send a trace message for display in Diagnostic Search. Message to display. Trace severity level. Named string values you can use to search and classify events. Send a trace message for display in Diagnostic Search. Message with optional properties. Send a for aggregation in Metric Explorer. Metric name. Metric value. Named string values you can use to classify and filter metrics. Send a for aggregation in Metric Explorer. Send an for display in Diagnostic Search. The exception to log. Named string values you can use to classify and search for this exception. Additional values associated with this exception. Send an for display in Diagnostic Search. Send information about external dependency call in the application. External dependency name. Dependency call command name. The time when the dependency was called. The time taken by the external dependency to handle the call. True if the dependency call was handled successfully. Send information about external dependency call in the application. This method is an internal part of Application Insights infrastructure. Do not call. Send information about the page viewed in the application. Name of the page. Send information about the page viewed in the application. Send information about a request handled by the application. The request name. The time when the page was requested. The time taken by the application to handle the request. The response status code. True if the request was handled successfully by the application. Send information about a request handled by the application. Flushes the in-memory buffer. Gets the current context that will be used to augment telemetry you send. Gets or sets the default instrumentation key for all objects logged in this . Gets or sets the channel used by the client helper. Note that this doesn't need to be public as a customer can create a new client with a new channel via telemetry configuration. Various utilities. Validates the string and if null or empty populates it with '$parameterName is a required field for $telemetryType' value. Returns default Timespan value if not a valid Timespan.