Skip to main content
This Instrumentation Rule is currently only available with the Odigos Enterprise plan.
Contact us for more information.

Considerations

Before enabling code attributes, please note the following:
  • Size of code.stacktrace can be large and may increase the size of your spans. This can impact the performance of your application and the cost of processing, storing and analyzing traces.
  • Code attributes have various level of support, depending on the programming language and instrumentation library used.

Configuration Options

column boolean : Indicates whether to record the code.column attribute for the column number in the code.filepath best representing the operation.
  • This field is optional, and defaults to false
filePath boolean : Indicates whether to record the code.filepath attribute for the source code file name that identifies the code unit.
  • This field is optional, and defaults to false
function boolean : Indicates whether to record the code.function attribute for the method or function name, or equivalent.
  • This field is optional, and defaults to false
lineNumber boolean : Indicates whether to record the code.lineno attribute for the line number in the code.filepath best representing the operation.
  • This field is optional, and defaults to false
namespace boolean : Indicates whether to record the code.namespace attribute for the “namespace” within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
  • This field is optional, and defaults to false
stackTrace `boolean
  • This field is optional, and defaults to false
Any unspecified options will be set to the default value of false (not recorded).

Basic Example

The following example demonstrates how to enable code attributes for all supported workloads and instrumentation libraries in the cluster.
1

Create a YAML file with the following content:
code-attributes.yaml
apiVersion: odigos.io/v1alpha1
kind: InstrumentationRule
metadata:
  name: collect-all-payloads
  namespace: odigos-system
spec:
  ruleName: "collect all supported code attributes"
  codeAttributes:
    column: false
    filePath: true # recommended
    function: true # recommended
    lineNumber: true # recommended
    namespace: false
    stackTrace: false
2

Apply the action to the cluster:
kubectl apply -f code-attributes.yaml
I