Skip to content

This project enables quering the Application Insights Analytics API while parsing the results for furthur processing using data analysis tools, such as numpy

License

Notifications You must be signed in to change notification settings

asafst/ApplicationInsightsAnalyticsClient-Python

Repository files navigation

Application Insights Analytics Client for Python

CI

This project enables querying the Application Insights Analytics API while parsing the results for further processing in a simple manner. Application Insights Analytics is a powerful search feature of Application Insights, which allows to query your Application Insights telemetry. This module is meant to be used with other data analysis packages, such as numpy and matplotlib. The query result are numpy arrays.

Note: this package is not for sending telemetry to the Application Insights service. For that you can use the official python sdk repo.

Requirements

This module was tested on Python 2.7 and Python 3.5. Older versions of Python 3 probably work as well.

For opening the project in Microsoft Visual Studio you will need Python Tools for Visual Studio.

Installation

To install the latest release you can use pip.

$ pip install aianalytics-client

Usage

Once installed, you can query your Application Insights telemetry. Here are a few samples.

Query exceptions from the last 24 hours and print them

from analytics.client import AnalyticsClient
client = AnalyticsClient('<Your app id goes here>', '<You app key goes here>')
result = client.query('exceptions | where timestamp > ago(24h) | project timestamp, type, outerMessage')
for row in result.row_iterator():
    print ("at {0} there was an exception of type {1} with message {2}".format(row['timestamp'], row['type'], row['outerMessage']))
    # Indexes can also be used instead of column names, e.g.:
    print ("at {0} there was an exception of type {1} with message {2}".format(row[0], row[1], row[2]))

Query average request duration from the last week and plot using matplotlib

from analytics.client import AnalyticsClient
client = AnalyticsClient('<Your app id goes here>', '<You app key goes here>')
result = client.query('requests | where timestamp > ago(7d) | summarize Duration = avg(duration/1000) by bin(timestamp, 1h) | order by timestamp asc')

import matplotlib.pyplot as plt
plt.plot(result["timestamp"], result["Duration"])
plt.show()

About

This project enables quering the Application Insights Analytics API while parsing the results for furthur processing using data analysis tools, such as numpy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages