This Instrumentation Rule is currently only available with the Odigos Enterprise plan.
Contact us for more information.
Contact us for more information.
Considerations
If you wish to create custom eBPF-based instrumentations for Go or Java applications, you can define a “Custom Instrumentation” rule via the Odigos InstrumentationRule CRD or the Odigos UI. This feature is a great way to extend Odigos’s auto-instrumentation capabilities to cover your specific use cases and application logic.Configuration Options
Golang
Golang
When
function is specified, receiverName and receiverMethodName must NOT be specified, and vice versa, if receiverName and receiverMethodName are specified, function must NOT be specified.PackageName is required in all cases.packageName
packageName
packageName
string - The name of the package containing the function to instrument.- This field is required
functionName
functionName
functionName
string - The name of the function to instrument.- This field is optional
receiverName
receiverName
receiverName
string - The name of the receiver type if the function is a method.- This field is optional
receiverMethodName
receiverMethodName
receiverMethodName
string - The name of the method receiver if the function is a method.- This field is optional
Java
Java
class
class
class
string - The fully qualified name of the class containing the method to instrument.- This field is required
method
method
method
string - The name of the method to instrument.- This field is required
Basic Example
The following example shows how to create a “Custom Instrumentation” rule that instruments a function namedProcessOrder in the github.com/example/ecommerce package.
1
Create a YAML file named
custom-instrumentation.yaml with the following content:Package and function(golang)
Package and function(golang)
Receiver method(golang)
Receiver method(golang)
2
Apply the action to the cluster: