| Current Path : /usr/lib/node_modules/pm2/node_modules/@opencensus/core/build/src/trace/model/ |
| Current File : //usr/lib/node_modules/pm2/node_modules/@opencensus/core/build/src/trace/model/span-base.d.ts |
/**
* Copyright 2018, OpenCensus Authors
*
* 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.
*/
import { Logger } from '../../common/types';
import * as configTypes from '../config/types';
import * as types from './types';
/** Defines a base model for spans. */
export declare abstract class SpanBase implements types.Span {
protected className: string;
/** The clock used to mesure the beginning and ending of a span */
private clock;
/** Indicates if this span was started */
private startedLocal;
/** Indicates if this span was ended */
private endedLocal;
/** Indicates if this span was forced to end */
private truncated;
/** The Span ID of this span */
readonly id: string;
/** An object to log information to */
logger: Logger;
/** A set of attributes, each in the format [KEY]:[VALUE] */
attributes: types.Attributes;
/** A text annotation with a set of attributes. */
annotations: types.Annotation[];
/** An event describing a message sent/received between Spans */
messageEvents: types.MessageEvent[];
/** Pointers from the current span to another span */
links: types.Link[];
/** If the parent span is in another process. */
remoteParent: boolean;
/** The span ID of this span's parent. If it's a root span, must be empty */
parentSpanId: string;
/** The resource name of the span */
name: string;
/** Kind of span. */
kind: types.SpanKind;
/** A final status for this span */
status: types.Status;
/** set isRootSpan */
abstract readonly isRootSpan: boolean;
/** Trace Parameters */
activeTraceParams: configTypes.TraceParams;
/** The number of dropped attributes. */
droppedAttributesCount: number;
/** The number of dropped links. */
droppedLinksCount: number;
/** The number of dropped annotations. */
droppedAnnotationsCount: number;
/** The number of dropped message events. */
droppedMessageEventsCount: number;
/** Constructs a new SpanBaseModel instance. */
constructor();
/** Gets the trace ID. */
abstract readonly traceId: string;
/** Gets the trace state */
abstract readonly traceState: types.TraceState;
/** Indicates if span was started. */
readonly started: boolean;
/** Indicates if span was ended. */
readonly ended: boolean;
/**
* Gives a timestamp that indicates the span's start time in RFC3339 UTC
* "Zulu" format.
*/
readonly startTime: Date;
/**
* Gives a timestap that indicates the span's end time in RFC3339 UTC
* "Zulu" format.
*/
readonly endTime: Date;
/**
* Gives a timestap that indicates the span's duration in RFC3339 UTC
* "Zulu" format.
*/
readonly duration: number;
/** Gives the TraceContext of the span. */
readonly spanContext: types.SpanContext;
/**
* Adds an atribute to the span.
* @param key Describes the value added.
* @param value The result of an operation.
*/
addAttribute(key: string, value: string | number | boolean): void;
/**
* Adds an annotation to the span.
* @param description Describes the event.
* @param attributes A set of attributes on the annotation.
* @param timestamp A time, in milliseconds. Defaults to Date.now()
*/
addAnnotation(description: string, attributes?: types.Attributes, timestamp?: number): void;
/**
* Adds a link to the span.
* @param traceId The trace ID for a trace within a project.
* @param spanId The span ID for a span within a trace.
* @param type The relationship of the current span relative to the linked.
* @param attributes A set of attributes on the link.
*/
addLink(traceId: string, spanId: string, type: types.LinkType, attributes?: types.Attributes): void;
/**
* Adds a message event to the span.
* @param type The type of message event.
* @param id An identifier for the message event.
* @param timestamp A time in milliseconds. Defaults to Date.now()
*/
addMessageEvent(type: types.MessageEventType, id: string, timestamp?: number): void;
/**
* Sets a status to the span.
* @param code The canonical status code.
* @param message optional A developer-facing error message.
*/
setStatus(code: types.CanonicalCode, message?: string): void;
/** Starts the span. */
start(): void;
/** Ends the span. */
end(): void;
/** Forces the span to end. */
truncate(): void;
}