UNPKG

@kangc/skywalking-backend-js

Version:

The NodeJS agent for Apache SkyWalking

71 lines (70 loc) 2.32 kB
/*! * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 Context from '../../trace/context/Context'; import { Component } from '../Component'; import { Tag } from '../../Tag'; import Log from '../../Log'; import Segment from '../../trace/context/Segment'; import SegmentRef from '../../trace/context/SegmentRef'; import { SpanLayer, SpanType } from '../../proto/language-agent/Tracing_pb'; import { ContextCarrier } from '../context/ContextCarrier'; export declare type SpanCtorOptions = { context: Context; operation: string; id?: number; parentId?: number; peer?: string; layer?: SpanLayer; component?: Component; }; export default abstract class Span { readonly context: Context; readonly type: SpanType; id: number; parentId: number; peer: string; operation: string; layer: SpanLayer; component: Component; depth: number; isCold: boolean; inherit?: Component; readonly tags: Tag[]; readonly logs: Log[]; readonly refs: SegmentRef[]; startTime: number; endTime: number; errored: boolean; lastError: Error | null; constructor(options: SpanCtorOptions & { type: SpanType; }); start(): void; stop(): void; async(): void; resync(): void; finish(segment: Segment): boolean; inject(): ContextCarrier; extract(carrier: ContextCarrier): this; hasTag(key: string): boolean; tag(tag: Tag, insert?: boolean): this; log(key: string, val: any): this; error(error: Error): this; refer(ref: SegmentRef): this; }