2017 © Pedro Peláez
 

library newrelic-query-builder

Query builder for New Relic Query Language (NRQL)

image

upscale/newrelic-query-builder

Query builder for New Relic Query Language (NRQL)

  • Monday, March 9, 2015
  • by upscalesoftware
  • Repository
  • 1 Watchers
  • 0 Stars
  • 10 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Build Status, (*1)

Query Builder for NRQL

The New Relic Query Language (NRQL) is an SQL-flavored query language for making calls against the Insights Events database., (*2)

This project is a PHP library for assembling NRQL queries in object-oriented applications. Library implements the official NRQL specification. It offers a "fluent" interface to specify query parts in an arbitrary order. That allows different application parts to influence the query w/o worrying about the query assembly order. Query integrity validation is performed upon rendering. Library provides object-oriented representation for complex elements of NRQL syntax. That enables code completion and avoids typos in contrast to plain text queries., (*3)

Installation

Library is to be installed via Composer as a project dependency in composer.json:, (*4)

{
    "require": {
        "upscale/newrelic-query-builder": "*"
    }
}

Usage

The example below demonstrates a query with all available clauses:, (*5)

use Upscale\Nrql\QueryBuilder;
use Upscale\Nrql\TimePeriod;
use Upscale\Nrql\Moment\TimeAgo;
use Upscale\Nrql\Moment\ExactTime;
use Upscale\Nrql\Moment\Yesterday;

$nrql = new QueryBuilder();
$nrql->select([
        'userAgentName',
    ])
    ->from([
        'PageView',
    ])
    ->where('userAgentOS = "Windows"')
    ->facet('countryCode')
    ->limit(20)
    ->since(new TimeAgo(new TimePeriod(4, TimePeriod::UNIT_DAYS)))
    ->until(new Yesterday())
    ->compareWith(new ExactTime(new \DateTime('2015-01-01 00:00:00')))
    ->timeSeries(new TimePeriod(1, TimePeriod::UNIT_HOURS))
;

echo $nrql;

Limitations

Some complex aspects of the NRQL syntax have not been implemented in an object-oriented manner. These include Aggregator Functions, Math Operators and logical operators (AND, OR, grouping). However, the library allows to utilize as complex expressions as needed in place of string arguments., (*6)

Free-format string arguments: - Attributes of SELECT statement, including optional AS clause - Conditions of WHERE clause - Attribute of FACET clause, (*7)

License

Licensed under the Apache License, Version 2.0., (*8)

The Versions

09/03 2015

dev-master

9999999-dev https://github.com/upscalesoftware/newrelic-query-builder

Query builder for New Relic Query Language (NRQL)

  Sources   Download

Apache-2.0

The Requires

  • php >=5.3.0

 

The Development Requires

by Upscale Software Team

query builder newrelic new relic insights nrql

08/03 2015

1.0.0

1.0.0.0 https://github.com/upscalesoftware/newrelic-query-builder

Query builder for New Relic Query Language (NRQL)

  Sources   Download

Apache-2.0

The Requires

  • php >=5.3.0

 

by Upscale Software Team

query builder newrelic new relic insights nrql