{"_id":"@pm2/opencensus-core","_rev":"2771581","name":"@pm2/opencensus-core","description":"OpenCensus is a toolkit for collecting application performance and behavior data.","dist-tags":{"latest":"0.0.9"},"maintainers":[{"name":"keymetrics_bot","email":""},{"name":"tknew","email":"strzelewicz.alexandre@gmail.com"}],"time":{"modified":"2022-05-23T09:39:57.000Z","created":"2019-02-05T10:10:56.930Z","0.0.9":"2019-02-05T10:10:56.930Z"},"users":{},"author":{"name":"Google Inc."},"repository":{"type":"git","url":"git+https://github.com/census-instrumentation/opencensus-node.git"},"versions":{"0.0.9":{"name":"@pm2/opencensus-core","version":"0.0.9","description":"OpenCensus is a toolkit for collecting application performance and behavior data.","main":"build/src/index.js","types":"build/src/index.d.ts","repository":{"type":"git","url":"git+https://github.com/census-instrumentation/opencensus-node.git"},"scripts":{"test":"nyc mocha build/test/**/*.js","codecov":"nyc report --reporter=json && codecov -f coverage/*.json","clean":"rimraf build/*","check":"gts check","compile":"tsc -p .","compile:release":"tsc -p tsconfig-release.json","fix":"gts fix","prepare":"npm run compile:release","pretest":"npm run compile","posttest":"npm run check"},"keywords":["opencensus","nodejs","tracing","profiling"],"author":{"name":"Google Inc."},"license":"Apache-2.0","engines":{"node":">=6.0"},"publishConfig":{"access":"public"},"devDependencies":{"@types/continuation-local-storage":"^3.2.1","@types/mocha":"^5.2.5","@types/node":"^10.12.12","@types/once":"^1.4.0","@types/semver":"^5.5.0","@types/shimmer":"^1.0.1","@types/uuid":"^3.4.3","codecov":"^3.1.0","gts":"^0.9.0","intercept-stdout":"^0.1.2","mocha":"^5.0.4","ncp":"^2.0.0","nyc":"13.1.0","ts-node":"^7.0.1","typescript":"~2.9.0"},"dependencies":{"continuation-local-storage":"^3.2.1","log-driver":"^1.2.7","semver":"^5.5.0","shimmer":"^1.2.0","uuid":"^3.2.1"},"contributors":[{"name":"Google LLC"},{"name":"CESAR Team","url":"www.cesar.org.br"}],"bugs":{"url":"https://github.com/census-instrumentation/opencensus-node/issues"},"homepage":"https://github.com/census-instrumentation/opencensus-node#readme","_id":"@pm2/opencensus-core@0.0.9","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"tknew","email":"strzelewicz.alexandre@gmail.com"},"dist":{"shasum":"ef046ccfa6fe68b3ee33096e92c5c6484cc70c7d","size":44455,"noattachment":false,"key":"/@pm2/opencensus-core/-/@pm2/opencensus-core-0.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@pm2/opencensus-core/download/@pm2/opencensus-core-0.0.9.tgz"},"maintainers":[{"name":"keymetrics_bot","email":""},{"name":"tknew","email":"strzelewicz.alexandre@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opencensus-core_0.0.9_1549361456813_0.7935751912476201"},"_hasShrinkwrap":false,"publish_time":1549361456930,"_cnpm_publish_time":1549361456930,"_cnpmcore_publish_time":"2021-12-16T23:48:22.820Z"}},"readme":"# OpenCensus Core Node.js\n[![Gitter chat][gitter-image]][gitter-url] ![Node Version][node-img] [![NPM Published Version][npm-img]][npm-url] ![dependencies Status][dependencies-status] ![devDependencies Status][devdependencies-status] ![Apache License][license-image]\n\nOpenCensus for Node.js is an implementation of OpenCensus, a toolkit for collecting application performance and behavior monitoring data. It currently includes 3 apis: stats, tracing and tags.\n\nThe library is in alpha stage and the API is subject to change.\n\n## Installation\n\nInstall the opencensus-core package with NPM:\n```bash\nnpm install @opencensus/core\n```\n\n## Usage\n\n#### Set up a new Stats manager instance.\n\nTo enable metrics, we’ll import a few items from OpenCensus Core package.\n\n```javascript\nconst { Stats, MeasureUnit, AggregationType } = require('@opencensus/core');\n\n// Create the Stats manager\nconst stats = new Stats();\n\n// The latency in milliseconds\nconst mLatencyMs = stats.createMeasureDouble(\n  \"repl/latency\",\n  MeasureUnit.MS,\n  \"The latency in milliseconds\"\n);\n```\n\n#### Create Views and Tags:\n\nWe now determine how our metrics will be organized by creating ```Views```. We will also create the variable needed to add extra text meta-data to our metrics – ```methodTagKey```, ```statusTagKey```, and ```errorTagKey```.\n\n```javascript\nconst methodTagKey = \"method\";\nconst statusTagKey = \"status\";\nconst errorTagKey = \"error\";\n\nconst latencyView = stats.createView(\n  \"demo/latency\",\n  mLatencyMs,\n  AggregationType.DISTRIBUTION,\n  [methodTagKey, statusTagKey, errorTagKey],\n  \"The distribution of the latencies\",\n  // Bucket Boundaries:\n  // [>=0ms, >=25ms, >=50ms, >=75ms, >=100ms, >=200ms, >=400ms, >=600ms, >=800ms, >=1s, >=2s, >=4s, >=6s]\n  [0, 25, 50, 75, 100, 200, 400, 600, 800, 1000, 2000, 4000, 6000]\n);\n```\n\n#### Recording Metrics:\n\nNow we will record the desired metrics. To do so, we will use ```stats.record()``` and pass in measurements.\n\n```javascript\nconst [_, startNanoseconds] = process.hrtime();\nconst tags = {method: \"repl\", status: \"OK\"};\n\nstats.record({\n  measure: mLatencyMs,\n  tags,\n  value: sinceInMilliseconds(startNanoseconds)\n});\n\n\nfunction sinceInMilliseconds(startNanoseconds) {\n  const [_, endNanoseconds] = process.hrtime();\n  return (endNanoseconds - startNanoseconds) / 1e6;\n}\n```\n\nSee [Quickstart/Metrics](https://opencensus.io/quickstart/nodejs/metrics/) for a full example of registering and collecting metrics.\n\n## Useful links\n- For more information on OpenCensus, visit: <https://opencensus.io/>\n- To checkout the OpenCensus for Node.js, visit: <https://github.com/census-instrumentation/opencensus-node>\n- For help or feedback on this project, join us on [gitter](https://gitter.im/census-instrumentation/Lobby)\n\n[gitter-image]: https://badges.gitter.im/census-instrumentation/lobby.svg\n[gitter-url]: https://gitter.im/census-instrumentation/lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n[npm-url]: https://www.npmjs.com/package/@opencensus/core\n[npm-img]: https://badge.fury.io/js/%40opencensus%2Fcore.svg\n[node-img]: https://img.shields.io/node/v/@opencensus/core.svg\n[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat\n[dependencies-status]: https://david-dm.org/census-instrumentation/opencensus-node/status.svg?path=packages/opencensus-core\n[devdependencies-status]:\nhttps://david-dm.org/census-instrumentation/opencensus-node/dev-status.svg?path=packages/opencensus-core\n\n## LICENSE\n\nApache License 2.0\n","_attachments":{},"homepage":"https://github.com/census-instrumentation/opencensus-node#readme","bugs":{"url":"https://github.com/census-instrumentation/opencensus-node/issues"},"license":"Apache-2.0"}