Socket
Socket
Sign inDemoInstall

@keptn/pitometer

Package Overview
Dependencies
Maintainers
4
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@keptn/pitometer

Collects metrics and judges the health of a deployment


Version published
Weekly downloads
4
increased by100%
Maintainers
4
Weekly downloads
 
Created
Source

Pitometer

Pitometer is a Node.js module that helps you to qualify the overall performance or quality of applications using a well defined specification format.

The specification is done using the Perfspec format which is a declarative way to define which metrics you want to pay attention to, the sources to collect them from and how to grade/interpret the results.

Pitometer is pluggable and accepts different sources and grading mechanisms. Right now, source plugins for Dynatrace and Prometheus and a grader for thresholds are available but it's easy to write new sources and graders.

Quickstart

  1. Run npm install -S @keptn/pitometer

  2. Install the graders and sources that are used in your Perfspec file:

    npm install -S @keptn/pitometer-grader-threshold
    npm install -S @keptn/pitometer-source-prometheus
    npm install -S @keptn/pitometer-source-dynatrace
    
  3. Require, configure and register all components and run the Perfspec file.

const Pitometer = require('@keptn/pitometer').Pitometer;
const DynatraceSource = require('@keptn/pitometer-source-dynatrace').Source;
const PrometheusSource = require('@keptn/pitometer-source-prometheus').Source;
const ThresholdGrader = require('@keptn/pitometer-grader-threshold').Grader;

const pitometer = new Pitometer();

// Register a Prometheus source that will be used if the source ID in your
// Perfspec matches 'Prometheus'
pitometer.addSource('Prometheus', new PrometheusSource({
  queryUrl: '<PROMETHEUS_PROMQL_ENDPOINT>',
}));

// Register a source that will be used if the source ID in your Perfspec matches
// 'Dynatrace'
pitometer.addSource('Dynatrace', new DynatraceSource({
  baseUrl: '<DYNATRACE_ENVIRONMENT_URL>',
  apiToken: '<DYNATRACE_API_TOKEN>',
  // Optional: A logger to be used for debugging API requests
  // log: console.log,
}));

// Register a grader for thresholds that will be used if the grader type
// matches 'Threshold'
pitometer.addGrader('Threshold', new ThresholdGrader());

// Load a Perfspec - see the samples directory
const perfspec = require('./samples/perfspec-sample.json');

// Run the Perfspec, passing in an optional context parameter 'prod'
// and log the result out to the console
pitometer.run(perfspec, {
  context: 'Optional context that is passed to all sources and graders',
  timeStart: START_TIME_IN_SECONDS,
  timeEnd: END_TIME_IN_SECONDS,
})
  .then((results) => console.log(JSON.stringify(results)))
  .catch((err) => console.error(err));

API Documentation

The API documentation can be found here.

Keywords

FAQs

Package last updated on 09 Jul 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc