Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
@google-cloud/debug-agent
Advanced tools
This module provides Cloud Debugger support for Node.js applications. Cloud Debugger is a feature of Google Cloud Platform that lets you debug your applications in production without stopping or pausing your application.
A comprehensive list of changes in each version may be found in the CHANGELOG.
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.
Table of contents:
npm install @google-cloud/debug-agent
To customize the behaviour of the automatic debugger agent, specify options when starting the agent. The following code sample shows how to pass in a subset of the available options.
require('@google-cloud/debug-agent').start({
// .. auth settings ..
// debug agent settings:
allowExpressions: true,
serviceContext: {
service: 'my-service',
version: 'version-1'
},
capture: { maxFrames: 20, maxProperties: 100 }
});
See the agent configuration for a list of possible configuration options.
Once your application is running, use the Debug UI in your Cloud developer console to debug your application. The Debug UI can be found in the 'Operations -> Debug' section in the navigation panel, or by simply searching for 'Debug' in the cloud console.
To take a snapshot with the debugger:
Note: The directory layout of the code that is being debugged does not have to exactly match the source code specified in the Debug UI. This is because the debug agent resolves a snapshot filename by searching for a file with the longest matching path suffix. If a unique match is found, that file will be used to set the snapshot.
The Cloud Debugger API is deprecated and will be turned down in May 2023.
You can use Firebase Realtime Database for data persistence as an alternative.
To enable the agent, add the following at the top of your app's main script or entry point:
require('@google-cloud/debug-agent').start({
useFirebase: true,
firebaseDbUrl: 'https://my-database-url.firebaseio.com',
firebaseKeyPath: 'path/to/service_account.json',
});
The following params are optional:
Using the Debugger with the Firebase Realtime Database backend requires using the Snapshot Debugger CLI.
See the full Snapshot Debugger CLI documentation.
Note: There is a known issue where enabling the agent may trigger memory leaks. See #811
o.f
looks like a property access,
but dynamically, it may end up calling a getter function. We presently do
NOT detect such dynamic-side effects.package.json
file.Samples are in the samples/
directory. Each sample's README.md
has instructions for running its sample.
Sample | Source Code | Try it |
---|---|---|
App | source code | |
Snippets | source code |
The Cloud Debugger Node.js Client API Reference documentation also contains samples.
Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.
Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed through npm dist-tags.
The dist-tags follow the naming convention legacy-(version)
.
For example, npm install @google-cloud/debug-agent@legacy-8
installs client libraries
for versions compatible with Node.js 8.
This library follows Semantic Versioning.
This library is considered to be 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 stable libraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributions welcome! See the Contributing Guide.
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 templates in
directory.
Apache Version 2.0
See LICENSE
FAQs
Stackdriver Debug Agent for Node.js
The npm package @google-cloud/debug-agent receives a total of 11,317 weekly downloads. As such, @google-cloud/debug-agent popularity was classified as popular.
We found that @google-cloud/debug-agent demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.