Skip to main content

New Relic query interface

Project description


Code style: black pre-commit status

Python package codecov

Query interface for the telemetry from New Relic SaaS platform.



This module, designed to be used ether from Jypyter or from application providing you a query access to your data stored in New Relic platform, so you can perform custom analysis.


You can download this module from GitHub repository. Then run

make init dependencies

This will install all dependencies. Then running the pip install as

pip install .

from the module directory source and nrquery module will be installed

How to query New Relic platform ?

nrquery module uses New Relic advanced GraphQL capabilities, but currently only supports NRQL queries. GraphQL queries will be implemented at some point in the future. Module consists of two classes:

Query class

nrquery.Query class provides an interface for sending NRQL queries to New Relic GraphQL API endpoint. Constructor of that class takes two values:

New Relic account (or None) New Relic API User key (or None)

if you pass None to any of the parameters, nrquery module will try to take account information from NRACCOUNT environment variable and API key from NRAPIKEY environment variable.

If nether is specified, exception will be raised.

nrquery.Query.Run method takes NRQL query as parameter and returns nrquery.Result object.

import nrquery

res = nrquery.Query().Run("SELECT COUNT(*) FROM TransactionError")

Result class

You shall not directly create instances of the nrquery.Result class. Method Run of the class nrquery.Query will return an instance of the Result class. There are few class variables that can pose some interest:

  • nrquery.Result.IsSuccess - True or False insicating success or failure of the query associated with result.
  • nrquery.Result.Elapsed - time tat takes New Relic platform to run that query
  • nrquery.Result.Query - query associated with that result

Following methods can be used to extract the value of the query. You must undestand the expected query outcome and use appropriate conversion methods:

  • nrquery.Result.Json - will convert result into a plain JSON
  • nrquery.Result.Series - will convert result into a single Pandas series object
  • nrquery.Result.Dataframe - will convert result into a Pandas Dataframe object
  • nrquery.Result.CSV - will convert result into a CSV string.
import nrquery

res = nrquery.Query().Run("SELECT * FROM TransactionError")
df = res.Dataframe()

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nrquery-1.3.tar.gz (4.5 kB view hashes)

Uploaded source

Built Distribution

nrquery-1.3-py3-none-any.whl (4.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page