MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/core/cjs/tracing/span.js.map
{"version":3,"file":"span.js","sources":["../../../src/tracing/span.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport type {\n  Instrumenter,\n  Primitive,\n  Span as SpanInterface,\n  SpanContext,\n  SpanOrigin,\n  TraceContext,\n  Transaction,\n} from '@sentry/types';\nimport { dropUndefinedKeys, generateSentryTraceHeader, logger, timestampInSeconds, uuid4 } from '@sentry/utils';\n\n/**\n * Keeps track of finished spans for a given transaction\n * @internal\n * @hideconstructor\n * @hidden\n */\nexport class SpanRecorder {\n  public spans: Span[];\n\n  private readonly _maxlen: number;\n\n  public constructor(maxlen: number = 1000) {\n    this._maxlen = maxlen;\n    this.spans = [];\n  }\n\n  /**\n   * This is just so that we don't run out of memory while recording a lot\n   * of spans. At some point we just stop and flush out the start of the\n   * trace tree (i.e.the first n spans with the smallest\n   * start_timestamp).\n   */\n  public add(span: Span): void {\n    if (this.spans.length > this._maxlen) {\n      span.spanRecorder = undefined;\n    } else {\n      this.spans.push(span);\n    }\n  }\n}\n\n/**\n * Span contains all data about a span\n */\nexport class Span implements SpanInterface {\n  /**\n   * @inheritDoc\n   */\n  public traceId: string;\n\n  /**\n   * @inheritDoc\n   */\n  public spanId: string;\n\n  /**\n   * @inheritDoc\n   */\n  public parentSpanId?: string;\n\n  /**\n   * Internal keeper of the status\n   */\n  public status?: SpanStatusType | string;\n\n  /**\n   * @inheritDoc\n   */\n  public sampled?: boolean;\n\n  /**\n   * Timestamp in seconds when the span was created.\n   */\n  public startTimestamp: number;\n\n  /**\n   * Timestamp in seconds when the span ended.\n   */\n  public endTimestamp?: number;\n\n  /**\n   * @inheritDoc\n   */\n  public op?: string;\n\n  /**\n   * @inheritDoc\n   */\n  public description?: string;\n\n  /**\n   * @inheritDoc\n   */\n  public tags: { [key: string]: Primitive };\n\n  /**\n   * @inheritDoc\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  public data: { [key: string]: any };\n\n  /**\n   * List of spans that were finalized\n   */\n  public spanRecorder?: SpanRecorder;\n\n  /**\n   * @inheritDoc\n   */\n  public transaction?: Transaction;\n\n  /**\n   * The instrumenter that created this span.\n   */\n  public instrumenter: Instrumenter;\n\n  /**\n   * The origin of the span, giving context about what created the span.\n   */\n  public origin?: SpanOrigin;\n\n  /**\n   * You should never call the constructor manually, always use `Sentry.startTransaction()`\n   * or call `startChild()` on an existing span.\n   * @internal\n   * @hideconstructor\n   * @hidden\n   */\n  public constructor(spanContext: SpanContext = {}) {\n    this.traceId = spanContext.traceId || uuid4();\n    this.spanId = spanContext.spanId || uuid4().substring(16);\n    this.startTimestamp = spanContext.startTimestamp || timestampInSeconds();\n    this.tags = spanContext.tags || {};\n    this.data = spanContext.data || {};\n    this.instrumenter = spanContext.instrumenter || 'sentry';\n    this.origin = spanContext.origin || 'manual';\n\n    if (spanContext.parentSpanId) {\n      this.parentSpanId = spanContext.parentSpanId;\n    }\n    // We want to include booleans as well here\n    if ('sampled' in spanContext) {\n      this.sampled = spanContext.sampled;\n    }\n    if (spanContext.op) {\n      this.op = spanContext.op;\n    }\n    if (spanContext.description) {\n      this.description = spanContext.description;\n    }\n    if (spanContext.name) {\n      this.description = spanContext.name;\n    }\n    if (spanContext.status) {\n      this.status = spanContext.status;\n    }\n    if (spanContext.endTimestamp) {\n      this.endTimestamp = spanContext.endTimestamp;\n    }\n  }\n\n  /** An alias for `description` of the Span. */\n  public get name(): string {\n    return this.description || '';\n  }\n  /** Update the name of the span. */\n  public set name(name: string) {\n    this.setName(name);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public startChild(\n    spanContext?: Pick<SpanContext, Exclude<keyof SpanContext, 'sampled' | 'traceId' | 'parentSpanId'>>,\n  ): Span {\n    const childSpan = new Span({\n      ...spanContext,\n      parentSpanId: this.spanId,\n      sampled: this.sampled,\n      traceId: this.traceId,\n    });\n\n    childSpan.spanRecorder = this.spanRecorder;\n    if (childSpan.spanRecorder) {\n      childSpan.spanRecorder.add(childSpan);\n    }\n\n    childSpan.transaction = this.transaction;\n\n    if (__DEBUG_BUILD__ && childSpan.transaction) {\n      const opStr = (spanContext && spanContext.op) || '< unknown op >';\n      const nameStr = childSpan.transaction.name || '< unknown name >';\n      const idStr = childSpan.transaction.spanId;\n\n      const logMessage = `[Tracing] Starting '${opStr}' span on transaction '${nameStr}' (${idStr}).`;\n      childSpan.transaction.metadata.spanMetadata[childSpan.spanId] = { logMessage };\n      logger.log(logMessage);\n    }\n\n    return childSpan;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setTag(key: string, value: Primitive): this {\n    this.tags = { ...this.tags, [key]: value };\n    return this;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n  public setData(key: string, value: any): this {\n    this.data = { ...this.data, [key]: value };\n    return this;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setStatus(value: SpanStatusType): this {\n    this.status = value;\n    return this;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setHttpStatus(httpStatus: number): this {\n    this.setTag('http.status_code', String(httpStatus));\n    this.setData('http.response.status_code', httpStatus);\n    const spanStatus = spanStatusfromHttpCode(httpStatus);\n    if (spanStatus !== 'unknown_error') {\n      this.setStatus(spanStatus);\n    }\n    return this;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setName(name: string): void {\n    this.description = name;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public isSuccess(): boolean {\n    return this.status === 'ok';\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public finish(endTimestamp?: number): void {\n    if (\n      __DEBUG_BUILD__ &&\n      // Don't call this for transactions\n      this.transaction &&\n      this.transaction.spanId !== this.spanId\n    ) {\n      const { logMessage } = this.transaction.metadata.spanMetadata[this.spanId];\n      if (logMessage) {\n        logger.log((logMessage as string).replace('Starting', 'Finishing'));\n      }\n    }\n\n    this.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampInSeconds();\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public toTraceparent(): string {\n    return generateSentryTraceHeader(this.traceId, this.spanId, this.sampled);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public toContext(): SpanContext {\n    return dropUndefinedKeys({\n      data: this.data,\n      description: this.description,\n      endTimestamp: this.endTimestamp,\n      op: this.op,\n      parentSpanId: this.parentSpanId,\n      sampled: this.sampled,\n      spanId: this.spanId,\n      startTimestamp: this.startTimestamp,\n      status: this.status,\n      tags: this.tags,\n      traceId: this.traceId,\n    });\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public updateWithContext(spanContext: SpanContext): this {\n    this.data = spanContext.data || {};\n    this.description = spanContext.description;\n    this.endTimestamp = spanContext.endTimestamp;\n    this.op = spanContext.op;\n    this.parentSpanId = spanContext.parentSpanId;\n    this.sampled = spanContext.sampled;\n    this.spanId = spanContext.spanId || this.spanId;\n    this.startTimestamp = spanContext.startTimestamp || this.startTimestamp;\n    this.status = spanContext.status;\n    this.tags = spanContext.tags || {};\n    this.traceId = spanContext.traceId || this.traceId;\n\n    return this;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public getTraceContext(): TraceContext {\n    return dropUndefinedKeys({\n      data: Object.keys(this.data).length > 0 ? this.data : undefined,\n      description: this.description,\n      op: this.op,\n      parent_span_id: this.parentSpanId,\n      span_id: this.spanId,\n      status: this.status,\n      tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n      trace_id: this.traceId,\n      origin: this.origin,\n    });\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public toJSON(): {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    data?: { [key: string]: any };\n    description?: string;\n    op?: string;\n    parent_span_id?: string;\n    span_id: string;\n    start_timestamp: number;\n    status?: string;\n    tags?: { [key: string]: Primitive };\n    timestamp?: number;\n    trace_id: string;\n    origin?: SpanOrigin;\n  } {\n    return dropUndefinedKeys({\n      data: Object.keys(this.data).length > 0 ? this.data : undefined,\n      description: this.description,\n      op: this.op,\n      parent_span_id: this.parentSpanId,\n      span_id: this.spanId,\n      start_timestamp: this.startTimestamp,\n      status: this.status,\n      tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n      timestamp: this.endTimestamp,\n      trace_id: this.traceId,\n      origin: this.origin,\n    });\n  }\n}\n\nexport type SpanStatusType =\n  /** The operation completed successfully. */\n  | 'ok'\n  /** Deadline expired before operation could complete. */\n  | 'deadline_exceeded'\n  /** 401 Unauthorized (actually does mean unauthenticated according to RFC 7235) */\n  | 'unauthenticated'\n  /** 403 Forbidden */\n  | 'permission_denied'\n  /** 404 Not Found. Some requested entity (file or directory) was not found. */\n  | 'not_found'\n  /** 429 Too Many Requests */\n  | 'resource_exhausted'\n  /** Client specified an invalid argument. 4xx. */\n  | 'invalid_argument'\n  /** 501 Not Implemented */\n  | 'unimplemented'\n  /** 503 Service Unavailable */\n  | 'unavailable'\n  /** Other/generic 5xx. */\n  | 'internal_error'\n  /** Unknown. Any non-standard HTTP status code. */\n  | 'unknown_error'\n  /** The operation was cancelled (typically by the user). */\n  | 'cancelled'\n  /** Already exists (409) */\n  | 'already_exists'\n  /** Operation was rejected because the system is not in a state required for the operation's */\n  | 'failed_precondition'\n  /** The operation was aborted, typically due to a concurrency issue. */\n  | 'aborted'\n  /** Operation was attempted past the valid range. */\n  | 'out_of_range'\n  /** Unrecoverable data loss or corruption */\n  | 'data_loss';\n\n/**\n * Converts a HTTP status code into a {@link SpanStatusType}.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or unknown_error.\n */\nexport function spanStatusfromHttpCode(httpStatus: number): SpanStatusType {\n  if (httpStatus < 400 && httpStatus >= 100) {\n    return 'ok';\n  }\n\n  if (httpStatus >= 400 && httpStatus < 500) {\n    switch (httpStatus) {\n      case 401:\n        return 'unauthenticated';\n      case 403:\n        return 'permission_denied';\n      case 404:\n        return 'not_found';\n      case 409:\n        return 'already_exists';\n      case 413:\n        return 'failed_precondition';\n      case 429:\n        return 'resource_exhausted';\n      default:\n        return 'invalid_argument';\n    }\n  }\n\n  if (httpStatus >= 500 && httpStatus < 600) {\n    switch (httpStatus) {\n      case 501:\n        return 'unimplemented';\n      case 503:\n        return 'unavailable';\n      case 504:\n        return 'deadline_exceeded';\n      default:\n        return 'internal_error';\n    }\n  }\n\n  return 'unknown_error';\n}\n"],"names":["uuid4","timestampInSeconds","logger","generateSentryTraceHeader","dropUndefinedKeys"],"mappings":"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"}