* add opentracing section and otelCollectorEndpoint * initialize OTLP exporter * pkg/controller: changes for context propagation * pkg/executor: changes for context propagation * pkg/fetcher: changes for context propagation * pkg/router: changes for context propagation * pkg/storagesvc: changes for context propagation * set no default value for otel collector endpoint * update readme and add notes to charts * move common code to pkg/utils/otel * adding fn and env as attributes * don't use otelhttp transport for websocket * URL ignore with common filter UrlsToIgnore Note: The web socket example does not work when using OTEL HTTP. Here is an issue related to that on open-telemetry/opentelemetry-js-contrib. Signed-off-by: Gaurav Gahlot <gauravgahlot0107@gmail.com> Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
25 lines
788 B
Go
25 lines
788 B
Go
package otel
|
|
|
|
import (
|
|
"go.opentelemetry.io/otel/attribute"
|
|
|
|
fv1 "github.com/fission/fission/pkg/apis/core/v1"
|
|
)
|
|
|
|
/* GetAttributesForFunction returns a set of attributes for a function. Attributes returned:
|
|
function-name
|
|
function-namespace
|
|
environment-name
|
|
environment-namespace
|
|
|
|
These attributes are tags that can be used to filter traces.
|
|
*/
|
|
func GetAttributesForFunction(fn *fv1.Function) []attribute.KeyValue {
|
|
return []attribute.KeyValue{
|
|
{Key: "function-name", Value: attribute.StringValue(fn.Name)},
|
|
{Key: "function-namespace", Value: attribute.StringValue(fn.Namespace)},
|
|
{Key: "environment-name", Value: attribute.StringValue(fn.Spec.Environment.Name)},
|
|
{Key: "environment-namespace", Value: attribute.StringValue(fn.Spec.Environment.Namespace)},
|
|
}
|
|
}
|