GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-nodejs
Stackdriver Trace Integration
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.4k
- Forks
- 181
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
## Stackdriver Trace Integration
Add Stackdriver Trace support to the Functions Framework.
Library: https://github.com/googleapis/cloud-trace-nodejs
Google Issue: https://issuetracker.google.com/issues/124761993
> @stew-r Can you add details as to what this would do? Would this be a tutorial or part of the actual framework?
### Example Code
```
"@google-cloud/debug-agent": "^4.0.1",
"@google-cloud/profiler": "^2.0.2",
"@google-cloud/trace-agent": "^4.1.0",
```
```ts
import * as debugAgent from '@google-cloud/debug-agent';
import * as profiler from '@google-cloud/profiler';
import * as trace from '@google-cloud/trace-agent';
let toolsAreSetup = false;
/**
* Starts Google Cloud tooling.
* - StackDriver Trace
* - StackDriver Profiler
* - StackDriver Debugger
*/
export function startTooling() {
// Ensure tools are only setup once per process.
if (toolsAreSetup) {
return null;
} else {
toolsAreSetup = true;
}
// Start Trace
trace.start();
// Start profiler
profiler
.start({
serviceContext: {
service: getServiceName(),
version: 'v1',
},
})
.catch(err => {
console.error('Failed to start profiler', err);
});
// Start debugger
const debug = debugAgent.start({
serviceContext: {
service: getServiceName(),
version: 'v1',
// version: functions.config().tsc.version
},
});
// Return all tools
return {
trace,
profiler,
debug,
};
}
/**
* Gets the name of the function for logging.
* @returns {string} The name of the function with a '_function' suffix.
*/
function getServiceName(): string {
const serviceName = process.env.FUNCTION_TARGET || 'unknown_cloud';
return `${serviceName}_function`;
}
```
Guía de contribución
Línea de trabajo
Start with the cloud-trace-nodejs library and the TypeScript example in the issue; no repository file, test, or entry point is named. First clarify whether the integration belongs in the Functions Framework or a tutorial, then define the supported behavior and acceptance checks. Done should match that agreed scope and demonstrate Stackdriver Trace support.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- google-cloud, node.js, typescript
- Área
- cloud, observability-sre
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100