Class: Google::Devtools::Cloudtrace::V1::TraceSpan

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb

Overview

A span represents a single timed event within a trace. Spans can be nested and form a trace tree. Often, a trace contains a root span that describes the end-to-end latency of an operation and, optionally, one or more subspans for its suboperations. Spans do not need to be contiguous. There may be gaps between spans in a trace.

Defined Under Namespace

Modules: SpanKind

Instance Attribute Summary collapse

Instance Attribute Details

#end_timeGoogle::Protobuf::Timestamp

Returns End time of the span in nanoseconds from the UNIX epoch.

Returns:



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end

#kindGoogle::Devtools::Cloudtrace::V1::TraceSpan::SpanKind

Returns Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using +RPC_CLIENT+ and +RPC_SERVER+ to identify queueing latency associated with the span.

Returns:

  • (Google::Devtools::Cloudtrace::V1::TraceSpan::SpanKind)

    Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using +RPC_CLIENT+ and +RPC_SERVER+ to identify queueing latency associated with the span.



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end

#labelsHash{String => String}

Returns Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 kilobytes (10MB for +/stacktrace+ values).

Some predefined label keys exist, or you may create your own. When creating your own, we recommend the following formats:

  • +/category/product/key+ for agents of well-known products (e.g. +/db/mongodb/read_size+).
  • +short_host/path/key+ for domain-specific keys (e.g. +foo.com/myproduct/bar+)

Predefined labels include:

  • +/agent+
  • +/component+
  • +/error/message+
  • +/error/name+
  • +/http/client_city+
  • +/http/client_country+
  • +/http/client_protocol+
  • +/http/client_region+
  • +/http/host+
  • +/http/method+
  • +/http/redirected_url+
  • +/http/request/size+
  • +/http/response/size+
  • +/http/status_code+
  • +/http/url+
  • +/http/user_agent+
  • +/pid+
  • +/stacktrace+
  • +/tid+.

Returns:

  • (Hash{String => String})

    Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 kilobytes (10MB for +/stacktrace+ values).

    Some predefined label keys exist, or you may create your own. When creating your own, we recommend the following formats:

    • +/category/product/key+ for agents of well-known products (e.g. +/db/mongodb/read_size+).
    • +short_host/path/key+ for domain-specific keys (e.g. +foo.com/myproduct/bar+)

    Predefined labels include:

    • +/agent+
    • +/component+
    • +/error/message+
    • +/error/name+
    • +/http/client_city+
    • +/http/client_country+
    • +/http/client_protocol+
    • +/http/client_region+
    • +/http/host+
    • +/http/method+
    • +/http/redirected_url+
    • +/http/request/size+
    • +/http/response/size+
    • +/http/status_code+
    • +/http/url+
    • +/http/user_agent+
    • +/pid+
    • +/stacktrace+
    • +/tid+


118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end

#nameString

Returns Name of the span. Must be less than 128 bytes. The span name is sanitized and displayed in the Stackdriver Trace tool in the dynamic print site_values.console_name %. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans.

Returns:

  • (String)

    Name of the span. Must be less than 128 bytes. The span name is sanitized and displayed in the Stackdriver Trace tool in the dynamic print site_values.console_name %. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans.



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end

#parent_span_idInteger

Returns ID of the parent span, if any. Optional.

Returns:

  • (Integer)

    ID of the parent span, if any. Optional.



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end

#span_idInteger

Returns Identifier for the span. Must be a 64-bit integer other than 0 and unique within a trace.

Returns:

  • (Integer)

    Identifier for the span. Must be a 64-bit integer other than 0 and unique within a trace.



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end

#start_timeGoogle::Protobuf::Timestamp

Returns Start time of the span in nanoseconds from the UNIX epoch.

Returns:



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/google/cloud/trace/v1/doc/google/devtools/cloudtrace/v1/trace.rb', line 118

class TraceSpan
  # Type of span. Can be used to specify additional relationships between spans
  # in addition to a parent/child relationship.
  module SpanKind
    # Unspecified.
    SPAN_KIND_UNSPECIFIED = 0

    # Indicates that the span covers server-side handling of an RPC or other
    # remote network request.
    RPC_SERVER = 1

    # Indicates that the span covers the client-side wrapper around an RPC or
    # other remote request.
    RPC_CLIENT = 2
  end
end