Socket
Book a DemoInstallSign in
Socket

@dynatrace/api-client

Package Overview
Dependencies
Maintainers
6
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry

@dynatrace/api-client

A NodeJS package for the Dynatrace REST API

2.16.5
unpublished
latest
Source
npmnpm
Version published
Weekly downloads
0
Maintainers
6
Weekly downloads
 
Created
Source

Dynatrace API Module

Welcome to the Dynatrace Api node module. This is a simple helper module for interacting with the Dynatrace API including caching support.

Disclaimer

This plugin is community contributed and not officially supported by Dynatrace. In case of problems, feature requests, or questions submit a ticket on GitHub .

Requirements

  • Dynatrace SaaS or Managed environment
  • API key from Dynatrace environment
  • Minimum node version 6.10

Basic Usage

Problem Feed and Details

const { Dynatrace } = require("@davis/dynatrace");
const redis = require("redis").createClient();

const dynatrace = new Dynatrace({
  baseUrl: "https://base-url-of-dynatrace-server",
  apiToken: "api-token-of-dynatrace-server",
  redis: redis, // this is optional
  cacheTTL: 600, // defaults to 60. Time to cache entities in seconds
  cachePrefix: "davis-redis-cache" // prefix for redis keys to prevent collisions
});

dynatrace
  .problemFeed({
    relativeTime: "day"
  })
  .then(problems => {
    // Full list of problems here
    console.log(`There were ${problems.length} problems in the last day.`);
    // There were 191 problems in the last day.
    return problems[0];
  })
  .then(problem => {
    // single problem here
    console.log(
      `The first problem is a ${problem.status} ${problem.impactLevel} problem`
    );
    // The first problem is a CLOSED APPLICATION problem
    return problem.getDetails();
  })
  .then(details => {
    // more detailed problem information here
    console.log(`with ${details.commentCount} comments.`);
    // with 0 comments.

    return details.addComment({
      content: "Checked using the dynatrace nodejs client",
      username: "@cto",
      context: "nodejs client"
    });
  });

Timeseries

dynatrace
  .applications({ tag: "davis" })
  .then(apps => _.find(apps, a => a.displayName === "Davis"))
  .then(davis => {
    return davis.userActionDurationXHR({
      queryMode: "total",
      relativeTime: "day"
    });
  })
  .then(data => {
    console.log(util.inspect(data, null, null));
  });

// ​​​​​{ dataPoints: ​​​​​
// ​​​​​   { 'APPLICATION-7D7CBD136E0B9959': [ [ 1520351760000, 423683.00326322095 ] ] },​​​​​
// ​​​​​  timeseriesId: 'com.dynatrace.builtin:app.useractionduration.xhr',​​​​​
// ​​​​​  unit: 'MicroSecond (µs)',​​​​​
// ​​​​​  entities: { 'APPLICATION-7D7CBD136E0B9959': 'Davis' },​​​​​
// ​​​​​  resolutionInMillisUTC: 86400000,​​​​​
// ​​​​​  aggregationType: 'AVG' }​​​​​

Deployments

Deploy An Application

async function deploy(entityId) {
  const deployment = dynatrace.startDeployment({
    deploymentName: "Test deployment",
    deploymentProject: "dynatrace node module",
    deploymentVersion: "0.0.1-7",
    source: "dynatrace node module"
  });

  // helpers for setting API parameters
  deployment.attachRules({ entityIds: [entityId] });

  // Deployment things here

  deployment.ciBackLink("https://link-to-ci");
  return deployment.send();
}

Get Deployments

async function deployments(entityId) {
  dynatrace
    .applications()
    .then(apps => apps[0])
    .then(app => app.deployments())
    .then(console.log);
}

Timeseries

dynatrace
  .applications()
  .then(apps => apps[0])
  .then(app =>
    app.userActionsPerMinute({
      relativeTime: "2hours",
      queryMode: "total",
      aggregationType: "avg"
    })
  );

Keywords

dynatrace

FAQs

Package last updated on 11 May 2020

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.