Socket
Socket
Sign inDemoInstall

@google-cloud/profiler

Package Overview
Dependencies
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@google-cloud/profiler - npm Package Compare versions

Comparing version 3.0.1 to 4.0.0

build/protos/profile.d.ts

33

CHANGELOG.md

@@ -7,2 +7,35 @@ # Changelog

## [4.0.0](https://www.github.com/googleapis/cloud-profiler-nodejs/compare/v3.0.1...v4.0.0) (2020-04-17)
### ⚠ BREAKING CHANGES
* require node.js 10.x and up (#623)
* `start({...}) ` now throws an error when the profiling agent cannot be set up because required fields are not set in the config and cannot be determined based on metadata or environment variables.
### Features
* add support for Node 12 ([#580](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/580)) ([e7cb85e](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/e7cb85efafb72f3f50acb48cafcc99e00cdd4616))
* package is now GA ([#627](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/627)) ([1327ece](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/1327ece67da31c2fc5ab1e20f6481cfa8d207e63))
* require the project ID to be set before starting the profiling agent ([#516](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/516)) ([5b46b66](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/5b46b66db3354bff611e2b34d51d40fc4e4befa5))
### Bug Fixes
* **deps:** TypeScript 3.7.0 causes breaking change in typings ([#564](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/564)) ([3ac08e5](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/3ac08e52a8f9dbb87aaa70324c2f5bc69f805b7c))
* apache license URL ([#468](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/468)) ([#618](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/618)) ([1ae39be](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/1ae39bef02389451ecf5b120770c6b6c914e96b8))
* **deps:** update dependency @google-cloud/common to v3 ([#613](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/613)) ([356dfa6](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/356dfa6d461be219d9937c3ca1430b6b0891bee1))
* **deps:** update dependency @types/semver to v7 ([#587](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/587)) ([1400fda](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/1400fda2018331ceb41df9434f307b8046fdde89))
* **deps:** update dependency gcp-metadata to v4 ([#609](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/609)) ([66875dd](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/66875dd259adcab7e18068bee1d76afa7dc641e9))
* **deps:** update dependency pprof to v1.3.0 ([#595](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/595)) ([7ba1423](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/7ba14239d5096811c30148fa1f405765cc13f0d2))
* **deps:** update dependency pprof to v2 ([#619](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/619)) ([37c7655](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/37c7655b227676af7a400e379d7b172f41f2592e))
* **deps:** update dependency pretty-ms to v6 ([#596](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/596)) ([bed6c20](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/bed6c2007bd7224b827c3f8dcf8369c4d9b8ba8c))
* **deps:** update dependency semver to v7 ([#567](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/567)) ([b6f80f6](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/b6f80f6819e6fc42b767ecc17594a933e4ff8316))
* **docs:** snippets are now replaced in jsdoc comments ([#560](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/560)) ([07164f3](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/07164f372913255a0b84754668ea2216cc2a6944))
### Build System
* require node.js 10.x and up ([#623](https://www.github.com/googleapis/cloud-profiler-nodejs/issues/623)) ([90d20bb](https://www.github.com/googleapis/cloud-profiler-nodejs/commit/90d20bb566ed54237074af85dedb249653a06657))
### [3.0.1](https://www.github.com/googleapis/cloud-profiler-nodejs/compare/v3.0.0...v3.0.1) (2019-10-30)

@@ -9,0 +42,0 @@

69

package.json
{
"name": "@google-cloud/profiler",
"version": "3.0.1",
"version": "4.0.0",
"description": "Adds support for Stackdriver Profiler to Node.js applications",
"repository": "googleapis/cloud-profiler-nodejs",
"main": "out/src/index.js",
"types": "out/src/index.d.ts",
"main": "build/src/index.js",
"types": "build/src/index.d.ts",
"scripts": {
"test": "nyc mocha out/test/test-*.js",
"system-test": "nyc --no-clean mocha out/system-test/test-*.js --timeout=60000",
"test": "c8 mocha build/test/test-*.js",
"system-test": "c8 --no-clean mocha build/system-test/test-*.js --timeout=60000",
"samples-test": "echo 'no sample tests'",
"check": "gts check",
"clean": "gts clean",
"codecov": "nyc report --reporter=json && codecov -f coverage/*.json",
"compile": "tsc -p .",
"compile": "tsc -p . && cp -R protos build",
"fix": "gts fix",
"lint": "gts check",
"docs": "jsdoc -c .jsdoc.js",
"prelint": "cd samples; npm link ../; npm install",
"prepare": "npm run compile",
"pretest": "npm run compile",
"posttest": "npm run check && npm run license-check",
"proto": "npm run proto:profile && npm run proto:profiler",
"proto:profiler": "mkdir -p proto && pbjs -t static-module -w commonjs -o proto/profiler.js third_party/googleapis/google/devtools/cloudprofiler/v2/profiler.proto && pbts -o proto/profiler.d.ts proto/profiler.js",
"proto": "mkdir -p protos && pbjs -t static-module -w commonjs -o protos/profiler.js third_party/googleapis/google/devtools/cloudprofiler/v2/profiler.proto && pbts -o protos/profiler.d.ts protos/profiler.js",
"license-check": "jsgl --local .",

@@ -33,14 +30,15 @@ "docs-test": "linkinator docs",

"dependencies": {
"@google-cloud/common": "^2.1.2",
"@google-cloud/common": "^3.0.0",
"@types/console-log-level": "^1.4.0",
"@types/semver": "^6.0.0",
"@types/semver": "^7.0.0",
"console-log-level": "^1.4.0",
"delay": "^4.0.1",
"extend": "^3.0.2",
"gcp-metadata": "^3.0.0",
"gcp-metadata": "^4.0.0",
"parse-duration": "^0.1.1",
"pprof": "1.2.0",
"pretty-ms": "^5.0.0",
"pprof": "2.0.0",
"pretty-ms": "^6.0.0",
"protobufjs": "~6.8.6",
"semver": "^6.0.0"
"semver": "^7.0.0",
"teeny-request": "^6.0.3"
},

@@ -50,41 +48,40 @@ "devDependencies": {

"@types/long": "^4.0.0",
"@types/mocha": "^5.0.0",
"@types/mocha": "^7.0.0",
"@types/nock": "^10.0.0",
"@types/node": "^10.0.3",
"@types/parse-duration": "^0.1.0",
"@types/pretty-ms": "^4.0.0",
"@types/sinon": "^7.0.12",
"@types/sinon": "^9.0.0",
"@types/tmp": "0.1.0",
"c8": "^7.0.0",
"codecov": "^3.0.0",
"gts": "^1.0.0",
"gts": "^2.0.0",
"js-green-licenses": "^1.0.0",
"jsdoc": "^3.6.2",
"jsdoc-fresh": "^1.0.1",
"linkinator": "^1.5.0",
"mocha": "^6.1.4",
"nock": "^11.0.0",
"nyc": "^14.1.0",
"sinon": "^7.3.2",
"jsdoc-region-tag": "^1.0.2",
"linkinator": "^2.0.0",
"mocha": "^7.0.0",
"nock": "^12.0.0",
"sinon": "^9.0.0",
"source-map": "^0.7.0",
"tmp": "0.1.0",
"typescript": "~3.6.0"
"typescript": "^3.8.3"
},
"files": [
"out/src",
"out/third_party/cloud-debug-nodejs",
"build/src",
"build/third_party/cloud-debug-nodejs",
"bindings",
"proto",
"package-lock.json",
"package.json",
"README.md"
"build/protos"
],
"nyc": {
"exclude": [
"proto",
"out/test",
"out/system-test"
"protos",
"build/test",
"build/system-test"
]
},
"engines": {
"node": ">=6.12.3 <8.0.0 || >=8.9.4 <10.0.0 || >=10.4.1"
"node": ">=10.4.1"
}
}

@@ -1,29 +0,63 @@

# Google Cloud Profiler
[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
[//]: # "To regenerate it, use `python -m synthtool`."
<img src="https://avatars2.githubusercontent.com/u/2810941?v=3&s=96" alt="Google Cloud Platform logo" title="Google Cloud Platform" align="right" height="96" width="96"/>
[![NPM Version][npm-image]][npm-url]
[![Build Status][circle-image]][circle-url]
[![Dependency Status][david-image]][david-url]
[![devDependency Status][david-dev-image]][david-dev-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
# [Stackdriver Profiler: Node.js Client](https://github.com/googleapis/cloud-profiler-nodejs)
> **Beta**. *This is a Beta release of the Stackdriver Profiler agent for
Node.js. These libraries might be changed in backward-incompatible ways and are
not subject to any SLA or deprecation policy.*
[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
[![npm version](https://img.shields.io/npm/v/@google-cloud/profiler.svg)](https://www.npmjs.org/package/@google-cloud/profiler)
[![codecov](https://img.shields.io/codecov/c/github/googleapis/cloud-profiler-nodejs/master.svg?style=flat)](https://codecov.io/gh/googleapis/cloud-profiler-nodejs)
## Prerequisites
1. Your application will need to be using Node.js 8.9.4 or greater, or Node.js
10.4.1 or greater. The profiler will not be enabled when using an earlier
version of Node 8 or 10 because the profiler is not stable with those versions
of Node.js.
* Versions of Node.js before Node.js 8 prior to 8.9.4 are impacted by
[this](https://bugs.chromium.org/p/v8/issues/detail?id=6623) issue, which
causes a memory leak when time profiling is enabled.
* Versions of Node.js 10 prior to 10.4.1 are impacted by
[this](https://bugs.chromium.org/p/chromium/issues/detail?id=847863) issue,
which can cause garbage collection to take several minutes when heap
profiling is enabled.
* Node.js 12.
Adds support for Stackdriver Profiler to Node.js applications
* [Stackdriver Profiler Node.js Client API Reference][client-docs]
* [Stackdriver Profiler Documentation][product-docs]
* [github.com/googleapis/cloud-profiler-nodejs](https://github.com/googleapis/cloud-profiler-nodejs)
Read more about the client libraries for Cloud APIs, including the older
Google APIs Client Libraries, in [Client Libraries Explained][explained].
[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
**Table of contents:**
* [Quickstart](#quickstart)
* [Before you begin](#before-you-begin)
* [Installing the client library](#installing-the-client-library)
* [Samples](#samples)
* [Versioning](#versioning)
* [Contributing](#contributing)
* [License](#license)
## Quickstart
### Before you begin
1. [Select or create a Cloud Platform project][projects].
1. [Enable the Stackdriver Profiler API][enable_api].
1. [Set up authentication with a service account][auth] so you can access the
API from your local workstation.
### Installing the client library
```bash
npm install @google-cloud/profiler
```
### Prerequisites
1. Your application will need to be using Node.js 10.4.1 or greater or Node.js
12. The profiler will not be enabled when using earlier versions of 10 because
versions of Node.js 10 prior to 10.4.1 are impacted by
[this](https://bugs.chromium.org/p/chromium/issues/detail?id=847863) issue,
which can cause garbage collection to take several minutes when heap profiling
is enabled.
1. `@google-cloud/profiler` depends on the

@@ -34,3 +68,3 @@ [`pprof`](https://www.npmjs.com/package/pprof) module, a module with a native

* For Linux: `pprof` has prebuilt binaries available for Linux and Alpine
Linux for Node 6, 8, 10, and 11. No additional dependencies are required.
Linux for Node 10 and 12. No additional dependencies are required.
* For other environments: when using `@google-cloud/profiler` on environments

@@ -49,3 +83,3 @@ that `pprof` does not have prebuilt binaries for, the module

## Basic Set-up
### Basic Set-up

@@ -63,3 +97,5 @@ 1. Install `@google-cloud/profiler` with [`npm`](https://www.npmjs.com) or add

```js
var profiler = require('@google-cloud/profiler').start();
require('@google-cloud/profiler').start().catch((err) => {
console.log(`Failed to start profiler: ${err}`);
});
```

@@ -85,5 +121,5 @@

## Configuration
### Configuration
See [the default configuration](https://github.com/googleapis/cloud-profiler-nodejs/blob/master/ts/src/config.ts) for a list of possible
See [the default configuration](https://github.com/googleapis/cloud-profiler-nodejs/blob/master/src/config.ts) for a list of possible
configuration options. These options can be passed to the agent through the

@@ -93,3 +129,3 @@ object argument to the start command shown below:

```js
require('@google-cloud/profiler').start({disableTime: true});
await require('@google-cloud/profiler').start({disableTime: true});
```

@@ -107,3 +143,3 @@

### Changing log level
#### Changing log level

@@ -120,6 +156,6 @@ The profiler writes log statements to the console log for diagnostic purposes.

```js
require('@google-cloud/profiler').start({logLevel: 4});
await require('@google-cloud/profiler').start({logLevel: 4});
```
### Disabling heap or time profile collection
#### Disabling heap or time profile collection

@@ -134,3 +170,3 @@ By default, the profiler collects both heap profiles, which show memory

```js
require('@google-cloud/profiler').start({disableTime: true});
await require('@google-cloud/profiler').start({disableTime: true});
```

@@ -141,6 +177,6 @@

```js
require('@google-cloud/profiler').start({disableHeap: true});
await require('@google-cloud/profiler').start({disableHeap: true});
```
## Running on Google Cloud Platform
### Running on Google Cloud Platform

@@ -150,7 +186,7 @@ There are three different services that can host Node.js applications within

Engine, and Google Container Engine. After installing `@google-cloud/profiler`
in your project and ensuring that the environment you are using uses Node.js
version 6.12.3 or greater, or Node.js 8.9.4 or greater, follow the
service-specific instructions to enable the profiler.
in your project and ensuring that the environment you are using uses a
supported version of Node.js, follow the service-specific instructions to
enable the profiler.
### Running on App Engine flexible environment
#### Running on App Engine flexible environment

@@ -162,3 +198,3 @@ To enable the profiling agent for a Node.js program running in the App Engine

```js
var profiler = require('@google-cloud/profiler').start();
require('@google-cloud/profiler').start();
```

@@ -170,11 +206,11 @@

```json
"engines": {
"node": ">=8.9.4"
}
"engines": {
"node": ">=10.4.1"
}
```
The above snippet will ensure that you're using 8.9.4 or greater.
The above snippet will ensure that you're using 10.4.1 or greater.
Deploy your application to App Engine Flexible environment as usual.
### Running on Google Compute Engine
#### Running on Google Compute Engine

@@ -187,10 +223,10 @@ To enable the profiling agent for a Node.js program running in the Google

require('@google-cloud/profiler').start({
serviceContext: {
serviceContext: {
service: 'your-service',
version: '1.0.0'
}
}
});
```
### Running on Google Container Engine
#### Running on Google Container Engine

@@ -203,11 +239,42 @@ To enable the profiling agent for a Node.js program running in the Google

require('@google-cloud/profiler').start({
serviceContext: {
serviceContext: {
service: 'your-service',
version: '1.0.0'
}
}
});
```
## Running elsewhere
#### Running on Istio
On Istio, the GCP Metadata server may not be available for a few seconds after
your application has started. When this occurs, the profiling agent may fail
to start because it cannot initialize required fields. One can retry when
starting the profiler with the following snippet.
```js
const profiler = require('@google-cloud/profiler');
async function startProfiler() {
for (let i = 0; i < 3; i++) {
try {
await profiler.start({
serviceContext: {
service: 'your-service',
version: '1.0.0',
},
});
} catch(e) {
console.log(`Failed to start profiler: ${e}`);
}
// Wait for 1 second before trying again.
await new Promise(r => setTimeout(r, 1000));
}
}
startProfiler();
```
### Running elsewhere
You can still use `@google-cloud/profiler` if your application is running

@@ -221,74 +288,139 @@ outside of Google Cloud Platform, for example, running locally, on-premise, or

```js
require('@google-cloud/profiler').start({
projectId: 'project-id',
serviceContext: {
```js
await require('@google-cloud/profiler').start({
projectId: 'project-id',
serviceContext: {
service: 'your-service',
version: '1.0.0'
}
}
});
```
```
2. You will need to provide credential for your application.
* If you are running your application on a development machine or test
environment where you are using the [`gcloud` command line tools][gcloud-sdk],
and are logged using `gcloud beta auth application-default login`, you
already have sufficient credentials, and a service account key is not
required.
* If you are running your application on a development machine or test
environment where you are using the [`gcloud` command line tools][gcloud-sdk],
and are logged using `gcloud beta auth application-default login`, you
already have sufficient credentials, and a service account key is not
required.
* You can provide credentials via
[Application Default Credentials][app-default-credentials]. This is the
recommended method.
1. [Create a new JSON service account key][service-account].
2. Copy the key somewhere your application can access it. Be sure not
to expose the key publicly.
3. Set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` to
the full path to the key. The profiler will automatically look for
this environment variable.
* You can provide credentials via
[Application Default Credentials][app-default-credentials]. This is the
recommended method.
1. [Create a new JSON service account key][service-account].
2. Copy the key somewhere your application can access it. Be sure not
to expose the key publicly.
3. Set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` to
the full path to the key. The profiler will automatically look for
this environment variable.
* You may set the `keyFilename` or `credentials` configuration field to the
full path or contents to the key file, respectively. Setting either of these
fields will override either setting `GOOGLE_APPLICATION_CREDENTIALS` or
logging in using `gcloud`.
* You may set the `keyFilename` or `credentials` configuration field to the
full path or contents to the key file, respectively. Setting either of these
fields will override either setting `GOOGLE_APPLICATION_CREDENTIALS` or
logging in using `gcloud`.
This is how you would set `keyFilename`:
```js
require('@google-cloud/profiler').start({
projectId: 'project-id',
serviceContext: {
service: 'your-service',
version: '1.0.0'
},
keyFilename: '/path/to/keyfile'
});
```
This is how you would set `keyFilename`:
```js
await require('@google-cloud/profiler').start({
projectId: 'project-id',
serviceContext: {
service: 'your-service',
version: '1.0.0'
},
keyFilename: '/path/to/keyfile'
});
```
This is how you would set `credentials`:
```js
require('@google-cloud/profiler').start({
projectId: 'project-id',
serviceContext: {
service: 'your-service',
version: '1.0.0'
},
credentials: {
client_email: 'email',
private_key: 'private_key'
}
});
```
[app-default-credentials]: https://developers.google.com/identity/protocols/application-default-credentials
[circle-image]: https://circleci.com/gh/googleapis/cloud-profiler-nodejs.svg?style=svg
[circle-url]: https://circleci.com/gh/googleapis/cloud-profiler-nodejs
[cloud-console]: https://console.cloud.google.com
[coveralls-image]: https://coveralls.io/repos/googleapis/cloud-profiler-nodejs/badge.svg?branch=master&service=github
[david-image]: https://david-dm.org/googleapis/cloud-profiler-nodejs.svg
[david-url]: https://david-dm.org/googleapis/cloud-profiler-nodejs
[david-dev-image]: https://david-dm.org/googleapis/cloud-profiler-nodejs/dev-status.svg
[david-dev-url]: https://david-dm.org/googleapis/cloud-profiler-nodejs#info=devDependencies
[gcloud-sdk]: https://cloud.google.com/sdk/gcloud/
[npm-image]: https://badge.fury.io/js/%40google-cloud%2Fprofiler.svg
[npm-url]: https://npmjs.org/package/@google-cloud/profiler
[service-account]: https://console.developers.google.com/apis/credentials/serviceaccountkey
[snyk-image]: https://snyk.io/test/github/googleapis/cloud-profiler-nodejs/badge.svg
[snyk-url]: https://snyk.io/test/github/googleapis/cloud-profiler-nodejs
This is how you would set `credentials`:
```js
await require('@google-cloud/profiler').start({
projectId: 'project-id',
serviceContext: {
service: 'your-service',
version: '1.0.0'
},
credentials: {
client_email: 'email',
private_key: 'private_key'
}
});
```
## Samples
Samples are in the [`samples/`](https://github.com/googleapis/cloud-profiler-nodejs/tree/master/samples) directory. The samples' `README.md`
has instructions for running the samples.
| Sample | Source Code | Try it |
| --------------------------- | --------------------------------- | ------ |
| App | [source code](https://github.com/googleapis/cloud-profiler-nodejs/blob/master/samples/app.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/cloud-profiler-nodejs&page=editor&open_in_editor=samples/app.js,samples/README.md) |
| Snippets | [source code](https://github.com/googleapis/cloud-profiler-nodejs/blob/master/samples/snippets.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/cloud-profiler-nodejs&page=editor&open_in_editor=samples/snippets.js,samples/README.md) |
The [Stackdriver Profiler Node.js Client API Reference][client-docs] documentation
also contains samples.
## Supported Node.js Versions
Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
Libraries are compatible with all current _active_ and _maintenance_ versions of
Node.js.
Client libraries targetting some end-of-life versions of Node.js are available, and
can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
The dist-tags follow the naming convention `legacy-(version)`.
_Legacy Node.js versions are supported as a best effort:_
* Legacy versions will not be tested in continuous integration.
* Some security patches may not be able to be backported.
* Dependencies will not be kept up-to-date, and features will not be backported.
#### Legacy tags available
* `legacy-8`: install client libraries from this dist-tag for versions
compatible with Node.js 8.
## Versioning
This library follows [Semantic Versioning](http://semver.org/).
This library is considered to be **General Availability (GA)**. This means it
is stable; the code surface will not change in backwards-incompatible ways
unless absolutely necessary (e.g. because of critical security issues) or with
an extensive deprecation period. Issues and requests against **GA** libraries
are addressed with the highest priority.
More Information: [Google Cloud Platform Launch Stages][launch_stages]
[launch_stages]: https://cloud.google.com/terms/launch-stages
## Contributing
Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/cloud-profiler-nodejs/blob/master/CONTRIBUTING.md).
Please note that this `README.md`, the `samples/README.md`,
and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
are generated from a central template. To edit one of these files, make an edit
to its template in this
[directory](https://github.com/googleapis/synthtool/tree/master/synthtool/gcp/templates/node_library).
## License
Apache Version 2.0
See [LICENSE](https://github.com/googleapis/cloud-profiler-nodejs/blob/master/LICENSE)
[client-docs]: https://googleapis.dev/nodejs/profiler/latest/
[product-docs]: https://cloud.google.com/profiler
[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
[projects]: https://console.cloud.google.com/project
[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=cloudprofiler.googleapis.com
[auth]: https://cloud.google.com/docs/authentication/getting-started
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