@google/cloud-trace
Version:
Node.js Support for StackDriver Trace
85 lines (73 loc) • 3.88 kB
JavaScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
;
// Default configuration
module.exports = {
trace: {
// Log levels: 0-disabled,1-error,2-warn,3-info,4-debug
logLevel: 1,
enabled: true,
// If true, information about query parameters and results will be
// attached to spans representating database operations.
enhancedDatabaseReporting: false,
// The maximum result size in characters to report on database spans if
// `enhancedDatabaseReporting` is enabled.
databaseResultReportingSize: 127,
// Valid entries are:
// 'express', 'hapi', 'http', 'restify'
excludedHooks: [],
// @type {number} max number of frames to include on traces (0 disables)
stackTraceLimit: 10,
// We buffer the captured traces for `flushDelaySeconds` before publishing
// to the trace API; unless the buffer fills up before then.
// See `bufferSize`.
flushDelaySeconds: 30,
// If paths are present in this array, then these paths will be ignored before
// `samplingRate` based decisions are made. Paths must include a leading
// forward slash and be of the form:
// /componentOne/componentTwo/...
// Paths can additionally be classified by regex in which case any path matching
// any provided regex will be ignored.
// We ignore the health checker probes (/_ah/health) by default.
ignoreUrls: [ '/_ah/health' ],
// An upper bound on the number of traces to gather each second. If set to 0,
// sampling is disabled and all traces are recorded. Sampling rates greater
// than 1000 are not supported and will result in at most 1000 samples per
// second. Some Google Cloud environments may further limit this rate.
samplingRate: 10,
// The number of transactions we buffer before we publish to the trace
// API, unless we hit `flushDelaySeconds` first.
bufferSize: 1000,
// Specifies the behavior of the trace agent in the case of an uncaught exception.
// Possible values are:
// `ignore`: Take no action. Note that the process may termiante before all the
// traces currently buffered have been flushed to the network.
// `flush`: Handle the uncaught exception and attempt to publish the traces to
// the API. Note that if you have other uncaught exception handlers in your
// application, they may chose to terminate the process before the
// buffer has been flushed to the network. Also note that if you have no
// other terminating uncaught exception handlers in your application, the
// error will get swallowed and the application will keep on running. You
// should use this option if you have other uncaught exception handlers
// that you want to be responsible for terminating the application.
// `flushAndExit`: Handle the uncaught exception, make a best effort attempt to
// publish the traces to the API, and then terminate the application after
// a delay. Note that presence of other uncaught exception handlers may
// chose to terminate the application before the buffer has been flushed to
// the network.
onUncaughtException: 'ignore'
}
};