Dagger
Search

otel

Collector as a service for local development and testing, with a
component/pipeline builder API for composing receivers, processors,
and exporters without writing YAML by hand.

Installation

dagger install github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e

Entrypoint

Return Type
Otel
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
func (m *MyModule) Example() *dagger.Otel  {
	return dag.
			Otel()
}
@function
def example() -> dagger.Otel:
	return (
		dag.otel()
	)
@func()
example(): Otel {
	return dag
		.otel()
}

Types

Otel 🔗

batchProcessor() 🔗

BatchProcessor builds a batch processor with collector defaults.

Return Type
Processor !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 batch-processor --name string
func (m *MyModule) Example(name string) *dagger.OtelProcessor  {
	return dag.
			Otel().
			Batchprocessor(name)
}
@function
def example(name: str) -> dagger.OtelProcessor:
	return (
		dag.otel()
		.batchprocessor(name)
	)
@func()
example(name: string): OtelProcessor {
	return dag
		.otel()
		.batchProcessor(name)
}

contrib() 🔗

Contrib returns a ContribCollector backed by the otel/opentelemetry-collector-contrib image. See Core.

Return Type
ContribCollector !
Arguments
NameTypeDefault ValueDescription
registryString !"docker.io"No description provided
tagString !"0.130.1"No description provided
configFileFile -No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string
func (m *MyModule) Example(registry string, tag string) *dagger.OtelContribCollector  {
	return dag.
			Otel().
			Contrib(registry, tag)
}
@function
def example(registry: str, tag: str) -> dagger.OtelContribCollector:
	return (
		dag.otel()
		.contrib(registry, tag)
	)
@func()
example(registry: string, tag: string): OtelContribCollector {
	return dag
		.otel()
		.contrib(registry, tag)
}

core() 🔗

Core returns a CoreCollector backed by the otel/opentelemetry-collector image at /:. configFile, when supplied, fully replaces the rendered pipeline YAML; the image path is fixed.

Return Type
CoreCollector !
Arguments
NameTypeDefault ValueDescription
registryString !"docker.io"No description provided
tagString !"0.130.1"No description provided
configFileFile -No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string
func (m *MyModule) Example(registry string, tag string) *dagger.OtelCoreCollector  {
	return dag.
			Otel().
			Core(registry, tag)
}
@function
def example(registry: str, tag: str) -> dagger.OtelCoreCollector:
	return (
		dag.otel()
		.core(registry, tag)
	)
@func()
example(registry: string, tag: string): OtelCoreCollector {
	return dag
		.otel()
		.core(registry, tag)
}

customExporter() 🔗

CustomExporter — see CustomReceiver.

Return Type
Exporter !
Arguments
NameTypeDefault ValueDescription
kindString !-No description provided
nameString !-No description provided
yamlBodyString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 custom-exporter --kind string --name string --yaml-body string
func (m *MyModule) Example(kind string, name string, yamlBody string) *dagger.OtelExporter  {
	return dag.
			Otel().
			Customexporter(kind, name, yamlBody)
}
@function
def example(kind: str, name: str, yamlbody: str) -> dagger.OtelExporter:
	return (
		dag.otel()
		.customexporter(kind, name, yamlbody)
	)
@func()
example(kind: string, name: string, yamlBody: string): OtelExporter {
	return dag
		.otel()
		.customExporter(kind, name, yamlBody)
}

customProcessor() 🔗

CustomProcessor — see CustomReceiver.

Return Type
Processor !
Arguments
NameTypeDefault ValueDescription
kindString !-No description provided
nameString !-No description provided
yamlBodyString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 custom-processor --kind string --name string --yaml-body string
func (m *MyModule) Example(kind string, name string, yamlBody string) *dagger.OtelProcessor  {
	return dag.
			Otel().
			Customprocessor(kind, name, yamlBody)
}
@function
def example(kind: str, name: str, yamlbody: str) -> dagger.OtelProcessor:
	return (
		dag.otel()
		.customprocessor(kind, name, yamlbody)
	)
@func()
example(kind: string, name: string, yamlBody: string): OtelProcessor {
	return dag
		.otel()
		.customProcessor(kind, name, yamlBody)
}

customReceiver() 🔗

CustomReceiver builds a receiver of arbitrary kind whose body is the caller-supplied YAML, spliced verbatim under receivers.<kind>/<name>.

Return Type
Receiver !
Arguments
NameTypeDefault ValueDescription
kindString !-No description provided
nameString !-No description provided
yamlBodyString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 custom-receiver --kind string --name string --yaml-body string
func (m *MyModule) Example(kind string, name string, yamlBody string) *dagger.OtelReceiver  {
	return dag.
			Otel().
			Customreceiver(kind, name, yamlBody)
}
@function
def example(kind: str, name: str, yamlbody: str) -> dagger.OtelReceiver:
	return (
		dag.otel()
		.customreceiver(kind, name, yamlbody)
	)
@func()
example(kind: string, name: string, yamlBody: string): OtelReceiver {
	return dag
		.otel()
		.customReceiver(kind, name, yamlBody)
}

debugExporter() 🔗

DebugExporter builds the stdout debug exporter at verbosity=detailed.

Return Type
Exporter !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 debug-exporter --name string
func (m *MyModule) Example(name string) *dagger.OtelExporter  {
	return dag.
			Otel().
			Debugexporter(name)
}
@function
def example(name: str) -> dagger.OtelExporter:
	return (
		dag.otel()
		.debugexporter(name)
	)
@func()
example(name: string): OtelExporter {
	return dag
		.otel()
		.debugExporter(name)
}

debugPipeline() 🔗

DebugPipeline is a pre-wired smoke-test pipeline of otlp receiver → batch processor → debug exporter for signal. Component names are fixed (otlp/debug, batch/debug, debug/debug); the pipeline name is debug.

Return Type
Pipeline !
Arguments
NameTypeDefault ValueDescription
signalString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 debug-pipeline --signal string
func (m *MyModule) Example(signal string) *dagger.OtelPipeline  {
	return dag.
			Otel().
			Debugpipeline(signal)
}
@function
def example(signal: str) -> dagger.OtelPipeline:
	return (
		dag.otel()
		.debugpipeline(signal)
	)
@func()
example(signal: string): OtelPipeline {
	return dag
		.otel()
		.debugPipeline(signal)
}

memoryLimiterProcessor() 🔗

MemoryLimiterProcessor builds a memory_limiter processor with conservative defaults (check_interval: 1s, limit_mib: 512). Callers needing different thresholds should reach for CustomProcessor.

Return Type
Processor !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 memory-limiter-processor --name string
func (m *MyModule) Example(name string) *dagger.OtelProcessor  {
	return dag.
			Otel().
			Memorylimiterprocessor(name)
}
@function
def example(name: str) -> dagger.OtelProcessor:
	return (
		dag.otel()
		.memorylimiterprocessor(name)
	)
@func()
example(name: string): OtelProcessor {
	return dag
		.otel()
		.memoryLimiterProcessor(name)
}

otlpExporter() 🔗

OtlpExporter builds an OTLP gRPC exporter pointing at endpoint (host:port, no scheme). Plaintext only — TLS is follow-up #24.

Return Type
Exporter !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
endpointString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-exporter --name string --endpoint string
func (m *MyModule) Example(name string, endpoint string) *dagger.OtelExporter  {
	return dag.
			Otel().
			Otlpexporter(name, endpoint)
}
@function
def example(name: str, endpoint: str) -> dagger.OtelExporter:
	return (
		dag.otel()
		.otlpexporter(name, endpoint)
	)
@func()
example(name: string, endpoint: string): OtelExporter {
	return dag
		.otel()
		.otlpExporter(name, endpoint)
}

otlpHttpExporter() 🔗

OtlpHttpExporter builds an OTLP/HTTP exporter pointing at endpoint (URL with scheme, e.g. http://loki:3100/otlp).

Return Type
Exporter !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
endpointString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-http-exporter --name string --endpoint string
func (m *MyModule) Example(name string, endpoint string) *dagger.OtelExporter  {
	return dag.
			Otel().
			Otlphttpexporter(name, endpoint)
}
@function
def example(name: str, endpoint: str) -> dagger.OtelExporter:
	return (
		dag.otel()
		.otlphttpexporter(name, endpoint)
	)
@func()
example(name: string, endpoint: string): OtelExporter {
	return dag
		.otel()
		.otlpHttpExporter(name, endpoint)
}

otlpReceiver() 🔗

OtlpReceiver builds the standard OTLP receiver listening on gRPC :4317 and HTTP :4318.

Return Type
Receiver !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-receiver --name string
func (m *MyModule) Example(name string) *dagger.OtelReceiver  {
	return dag.
			Otel().
			Otlpreceiver(name)
}
@function
def example(name: str) -> dagger.OtelReceiver:
	return (
		dag.otel()
		.otlpreceiver(name)
	)
@func()
example(name: string): OtelReceiver {
	return dag
		.otel()
		.otlpReceiver(name)
}

pipeline() 🔗

Pipeline builds an empty pipeline for signal (logs|traces|metrics) keyed at / in the rendered config.

Return Type
Pipeline !
Arguments
NameTypeDefault ValueDescription
signalString !-No description provided
nameString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 pipeline --signal string --name string
func (m *MyModule) Example(signal string, name string) *dagger.OtelPipeline  {
	return dag.
			Otel().
			Pipeline(signal, name)
}
@function
def example(signal: str, name: str) -> dagger.OtelPipeline:
	return (
		dag.otel()
		.pipeline(signal, name)
	)
@func()
example(signal: string, name: string): OtelPipeline {
	return dag
		.otel()
		.pipeline(signal, name)
}

resourceProcessor() 🔗

ResourceProcessor builds a no-op resource processor (empty attributes list). Callers needing actual attribute upserts should reach for CustomProcessor.

Return Type
Processor !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 resource-processor --name string
func (m *MyModule) Example(name string) *dagger.OtelProcessor  {
	return dag.
			Otel().
			Resourceprocessor(name)
}
@function
def example(name: str) -> dagger.OtelProcessor:
	return (
		dag.otel()
		.resourceprocessor(name)
	)
@func()
example(name: string): OtelProcessor {
	return dag
		.otel()
		.resourceProcessor(name)
}

Processor 🔗

Processor is a single OpenTelemetry Collector processor component.

kind() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 resource-processor --name string \
 kind
func (m *MyModule) Example(ctx context.Context, name string) string  {
	return dag.
			Otel().
			Resourceprocessor(name).
			Kind(ctx)
}
@function
async def example(name: str) -> str:
	return await (
		dag.otel()
		.resourceprocessor(name)
		.kind()
	)
@func()
async example(name: string): Promise<string> {
	return dag
		.otel()
		.resourceProcessor(name)
		.kind()
}

name() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 resource-processor --name string \
 name
func (m *MyModule) Example(ctx context.Context, name string) string  {
	return dag.
			Otel().
			Resourceprocessor(name).
			Name(ctx)
}
@function
async def example(name: str) -> str:
	return await (
		dag.otel()
		.resourceprocessor(name)
		.name()
	)
@func()
async example(name: string): Promise<string> {
	return dag
		.otel()
		.resourceProcessor(name)
		.name()
}

body() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 resource-processor --name string \
 body
func (m *MyModule) Example(ctx context.Context, name string) string  {
	return dag.
			Otel().
			Resourceprocessor(name).
			Body(ctx)
}
@function
async def example(name: str) -> str:
	return await (
		dag.otel()
		.resourceprocessor(name)
		.body()
	)
@func()
async example(name: string): Promise<string> {
	return dag
		.otel()
		.resourceProcessor(name)
		.body()
}

ContribCollector 🔗

ContribCollector wraps the otel/opentelemetry-collector-contrib image. Method set is identical to CoreCollector; only the image path differs, so the rendering and service helpers are shared.

registry() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 registry
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Registry(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.contrib(registry, tag)
		.registry()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.contrib(registry, tag)
		.registry()
}

tag() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 tag
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Tag(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.contrib(registry, tag)
		.tag()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.contrib(registry, tag)
		.tag()
}

override() 🔗

Return Type
File !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 override
func (m *MyModule) Example(registry string, tag string) *dagger.File  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Override()
}
@function
def example(registry: str, tag: str) -> dagger.File:
	return (
		dag.otel()
		.contrib(registry, tag)
		.override()
	)
@func()
example(registry: string, tag: string): File {
	return dag
		.otel()
		.contrib(registry, tag)
		.override()
}

pipelines() 🔗

Return Type
[Pipeline ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 pipelines
func (m *MyModule) Example(registry string, tag string) []*dagger.OtelPipeline  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Pipelines()
}
@function
def example(registry: str, tag: str) -> List[dagger.OtelPipeline]:
	return (
		dag.otel()
		.contrib(registry, tag)
		.pipelines()
	)
@func()
example(registry: string, tag: string): OtelPipeline[] {
	return dag
		.otel()
		.contrib(registry, tag)
		.pipelines()
}

bindingHosts() 🔗

Return Type
[String ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 binding-hosts
func (m *MyModule) Example(ctx context.Context, registry string, tag string) []string  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Bindinghosts(ctx)
}
@function
async def example(registry: str, tag: str) -> List[str]:
	return await (
		dag.otel()
		.contrib(registry, tag)
		.bindinghosts()
	)
@func()
async example(registry: string, tag: string): Promise<string[]> {
	return dag
		.otel()
		.contrib(registry, tag)
		.bindingHosts()
}

bindingSvcs() 🔗

Return Type
[Service ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 binding-svcs
func (m *MyModule) Example(registry string, tag string) []*dagger.Service  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Bindingsvcs()
}
@function
def example(registry: str, tag: str) -> List[dagger.Service]:
	return (
		dag.otel()
		.contrib(registry, tag)
		.bindingsvcs()
	)
@func()
example(registry: string, tag: string): Service[] {
	return dag
		.otel()
		.contrib(registry, tag)
		.bindingSvcs()
}

configFile() 🔗

ConfigFile — see CoreCollector.ConfigFile.

Return Type
File !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 config-file
func (m *MyModule) Example(registry string, tag string) *dagger.File  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Configfile()
}
@function
def example(registry: str, tag: str) -> dagger.File:
	return (
		dag.otel()
		.contrib(registry, tag)
		.configfile()
	)
@func()
example(registry: string, tag: string): File {
	return dag
		.otel()
		.contrib(registry, tag)
		.configFile()
}

otlpGrpcEndpoint() 🔗

OtlpGrpcEndpoint — see CoreCollector.OtlpGrpcEndpoint.

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 otlp-grpc-endpoint
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Otlpgrpcendpoint(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.contrib(registry, tag)
		.otlpgrpcendpoint()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.contrib(registry, tag)
		.otlpGrpcEndpoint()
}

otlpHttpEndpoint() 🔗

OtlpHttpEndpoint — see CoreCollector.OtlpHttpEndpoint.

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 otlp-http-endpoint
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Otlphttpendpoint(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.contrib(registry, tag)
		.otlphttpendpoint()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.contrib(registry, tag)
		.otlpHttpEndpoint()
}

service() 🔗

Service — see CoreCollector.Service.

Return Type
Service !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 service
func (m *MyModule) Example(registry string, tag string) *dagger.Service  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Service()
}
@function
def example(registry: str, tag: str) -> dagger.Service:
	return (
		dag.otel()
		.contrib(registry, tag)
		.service()
	)
@func()
example(registry: string, tag: string): Service {
	return dag
		.otel()
		.contrib(registry, tag)
		.service()
}

withConfigFile() 🔗

WithConfigFile — see CoreCollector.WithConfigFile.

Return Type
ContribCollector !
Arguments
NameTypeDefault ValueDescription
fFile !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 with-config-file --f file:path
func (m *MyModule) Example(registry string, tag string, f *dagger.File) *dagger.OtelContribCollector  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Withconfigfile(f)
}
@function
def example(registry: str, tag: str, f: dagger.File) -> dagger.OtelContribCollector:
	return (
		dag.otel()
		.contrib(registry, tag)
		.withconfigfile(f)
	)
@func()
example(registry: string, tag: string, f: File): OtelContribCollector {
	return dag
		.otel()
		.contrib(registry, tag)
		.withConfigFile(f)
}

withPipeline() 🔗

WithPipeline — see CoreCollector.WithPipeline.

Return Type
ContribCollector !
Arguments
NameTypeDefault ValueDescription
pPipeline !-No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(registry string, tag string, p *dagger.OtelPipeline) *dagger.OtelContribCollector  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Withpipeline(p)
}
@function
def example(registry: str, tag: str, p: dagger.OtelPipeline) -> dagger.OtelContribCollector:
	return (
		dag.otel()
		.contrib(registry, tag)
		.withpipeline(p)
	)
@func()
example(registry: string, tag: string, p: OtelPipeline): OtelContribCollector {
	return dag
		.otel()
		.contrib(registry, tag)
		.withPipeline(p)
}

withServiceBinding() 🔗

WithServiceBinding — see CoreCollector.WithServiceBinding.

Return Type
ContribCollector !
Arguments
NameTypeDefault ValueDescription
hostString !-No description provided
svcService !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 contrib --registry string --tag string \
 with-service-binding --host string --svc PROTOCOL://HOST:PORT
func (m *MyModule) Example(registry string, tag string, host string, svc *dagger.Service) *dagger.OtelContribCollector  {
	return dag.
			Otel().
			Contrib(registry, tag).
			Withservicebinding(host, svc)
}
@function
def example(registry: str, tag: str, host: str, svc: dagger.Service) -> dagger.OtelContribCollector:
	return (
		dag.otel()
		.contrib(registry, tag)
		.withservicebinding(host, svc)
	)
@func()
example(registry: string, tag: string, host: string, svc: Service): OtelContribCollector {
	return dag
		.otel()
		.contrib(registry, tag)
		.withServiceBinding(host, svc)
}

CoreCollector 🔗

CoreCollector wraps the otel/opentelemetry-collector image. Its public surface is identical to ContribCollector — both share the rendering and service-construction helpers below; only the image path differs.

registry() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 registry
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Core(registry, tag).
			Registry(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.core(registry, tag)
		.registry()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.core(registry, tag)
		.registry()
}

tag() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 tag
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Core(registry, tag).
			Tag(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.core(registry, tag)
		.tag()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.core(registry, tag)
		.tag()
}

override() 🔗

Return Type
File !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 override
func (m *MyModule) Example(registry string, tag string) *dagger.File  {
	return dag.
			Otel().
			Core(registry, tag).
			Override()
}
@function
def example(registry: str, tag: str) -> dagger.File:
	return (
		dag.otel()
		.core(registry, tag)
		.override()
	)
@func()
example(registry: string, tag: string): File {
	return dag
		.otel()
		.core(registry, tag)
		.override()
}

pipelines() 🔗

Return Type
[Pipeline ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 pipelines
func (m *MyModule) Example(registry string, tag string) []*dagger.OtelPipeline  {
	return dag.
			Otel().
			Core(registry, tag).
			Pipelines()
}
@function
def example(registry: str, tag: str) -> List[dagger.OtelPipeline]:
	return (
		dag.otel()
		.core(registry, tag)
		.pipelines()
	)
@func()
example(registry: string, tag: string): OtelPipeline[] {
	return dag
		.otel()
		.core(registry, tag)
		.pipelines()
}

bindingHosts() 🔗

Return Type
[String ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 binding-hosts
func (m *MyModule) Example(ctx context.Context, registry string, tag string) []string  {
	return dag.
			Otel().
			Core(registry, tag).
			Bindinghosts(ctx)
}
@function
async def example(registry: str, tag: str) -> List[str]:
	return await (
		dag.otel()
		.core(registry, tag)
		.bindinghosts()
	)
@func()
async example(registry: string, tag: string): Promise<string[]> {
	return dag
		.otel()
		.core(registry, tag)
		.bindingHosts()
}

bindingSvcs() 🔗

Return Type
[Service ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 binding-svcs
func (m *MyModule) Example(registry string, tag string) []*dagger.Service  {
	return dag.
			Otel().
			Core(registry, tag).
			Bindingsvcs()
}
@function
def example(registry: str, tag: str) -> List[dagger.Service]:
	return (
		dag.otel()
		.core(registry, tag)
		.bindingsvcs()
	)
@func()
example(registry: string, tag: string): Service[] {
	return dag
		.otel()
		.core(registry, tag)
		.bindingSvcs()
}

configFile() 🔗

ConfigFile returns the file that will be mounted as the collector’s –config: either the caller-supplied override or the pipeline-rendered YAML. Inspecting it does not launch the service.

Return Type
File !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 config-file
func (m *MyModule) Example(registry string, tag string) *dagger.File  {
	return dag.
			Otel().
			Core(registry, tag).
			Configfile()
}
@function
def example(registry: str, tag: str) -> dagger.File:
	return (
		dag.otel()
		.core(registry, tag)
		.configfile()
	)
@func()
example(registry: string, tag: string): File {
	return dag
		.otel()
		.core(registry, tag)
		.configFile()
}

otlpGrpcEndpoint() 🔗

OtlpGrpcEndpoint returns the host:port of the running collector’s OTLP/gRPC listener (no scheme).

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 otlp-grpc-endpoint
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Core(registry, tag).
			Otlpgrpcendpoint(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.core(registry, tag)
		.otlpgrpcendpoint()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.core(registry, tag)
		.otlpGrpcEndpoint()
}

otlpHttpEndpoint() 🔗

OtlpHttpEndpoint returns http://:4318 for the running collector’s OTLP/HTTP listener.

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 otlp-http-endpoint
func (m *MyModule) Example(ctx context.Context, registry string, tag string) string  {
	return dag.
			Otel().
			Core(registry, tag).
			Otlphttpendpoint(ctx)
}
@function
async def example(registry: str, tag: str) -> str:
	return await (
		dag.otel()
		.core(registry, tag)
		.otlphttpendpoint()
	)
@func()
async example(registry: string, tag: string): Promise<string> {
	return dag
		.otel()
		.core(registry, tag)
		.otlpHttpEndpoint()
}

service() 🔗

Service returns the running collector. Listens on :4317 (OTLP gRPC) and :4318 (OTLP HTTP). Mounts the resolved config (override or rendered) when one exists; otherwise launches with no –config flag, matching the collector binary’s behavior of refusing to start.

Return Type
Service !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 service
func (m *MyModule) Example(registry string, tag string) *dagger.Service  {
	return dag.
			Otel().
			Core(registry, tag).
			Service()
}
@function
def example(registry: str, tag: str) -> dagger.Service:
	return (
		dag.otel()
		.core(registry, tag)
		.service()
	)
@func()
example(registry: string, tag: string): Service {
	return dag
		.otel()
		.core(registry, tag)
		.service()
}

withConfigFile() 🔗

WithConfigFile fully replaces the rendered pipeline YAML with the supplied file. Pipelines added via WithPipeline are ignored when an override is set.

Return Type
CoreCollector !
Arguments
NameTypeDefault ValueDescription
fFile !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 with-config-file --f file:path
func (m *MyModule) Example(registry string, tag string, f *dagger.File) *dagger.OtelCoreCollector  {
	return dag.
			Otel().
			Core(registry, tag).
			Withconfigfile(f)
}
@function
def example(registry: str, tag: str, f: dagger.File) -> dagger.OtelCoreCollector:
	return (
		dag.otel()
		.core(registry, tag)
		.withconfigfile(f)
	)
@func()
example(registry: string, tag: string, f: File): OtelCoreCollector {
	return dag
		.otel()
		.core(registry, tag)
		.withConfigFile(f)
}

withPipeline() 🔗

WithPipeline appends a pipeline to the collector. The collector dedupes shared components into one top-level entry per kind/name at YAML-render time.

Return Type
CoreCollector !
Arguments
NameTypeDefault ValueDescription
pPipeline !-No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(registry string, tag string, p *dagger.OtelPipeline) *dagger.OtelCoreCollector  {
	return dag.
			Otel().
			Core(registry, tag).
			Withpipeline(p)
}
@function
def example(registry: str, tag: str, p: dagger.OtelPipeline) -> dagger.OtelCoreCollector:
	return (
		dag.otel()
		.core(registry, tag)
		.withpipeline(p)
	)
@func()
example(registry: string, tag: string, p: OtelPipeline): OtelCoreCollector {
	return dag
		.otel()
		.core(registry, tag)
		.withPipeline(p)
}

withServiceBinding() 🔗

WithServiceBinding binds a backend service into the collector’s network so exporter endpoints can reach it by hostname. Repeated calls accumulate.

Return Type
CoreCollector !
Arguments
NameTypeDefault ValueDescription
hostString !-No description provided
svcService !-No description provided
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 core --registry string --tag string \
 with-service-binding --host string --svc PROTOCOL://HOST:PORT
func (m *MyModule) Example(registry string, tag string, host string, svc *dagger.Service) *dagger.OtelCoreCollector  {
	return dag.
			Otel().
			Core(registry, tag).
			Withservicebinding(host, svc)
}
@function
def example(registry: str, tag: str, host: str, svc: dagger.Service) -> dagger.OtelCoreCollector:
	return (
		dag.otel()
		.core(registry, tag)
		.withservicebinding(host, svc)
	)
@func()
example(registry: string, tag: string, host: string, svc: Service): OtelCoreCollector {
	return dag
		.otel()
		.core(registry, tag)
		.withServiceBinding(host, svc)
}

Exporter 🔗

Exporter is a single OpenTelemetry Collector exporter component.

kind() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-http-exporter --name string --endpoint string \
 kind
func (m *MyModule) Example(ctx context.Context, name string, endpoint string) string  {
	return dag.
			Otel().
			Otlphttpexporter(name, endpoint).
			Kind(ctx)
}
@function
async def example(name: str, endpoint: str) -> str:
	return await (
		dag.otel()
		.otlphttpexporter(name, endpoint)
		.kind()
	)
@func()
async example(name: string, endpoint: string): Promise<string> {
	return dag
		.otel()
		.otlpHttpExporter(name, endpoint)
		.kind()
}

name() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-http-exporter --name string --endpoint string \
 name
func (m *MyModule) Example(ctx context.Context, name string, endpoint string) string  {
	return dag.
			Otel().
			Otlphttpexporter(name, endpoint).
			Name(ctx)
}
@function
async def example(name: str, endpoint: str) -> str:
	return await (
		dag.otel()
		.otlphttpexporter(name, endpoint)
		.name()
	)
@func()
async example(name: string, endpoint: string): Promise<string> {
	return dag
		.otel()
		.otlpHttpExporter(name, endpoint)
		.name()
}

body() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-http-exporter --name string --endpoint string \
 body
func (m *MyModule) Example(ctx context.Context, name string, endpoint string) string  {
	return dag.
			Otel().
			Otlphttpexporter(name, endpoint).
			Body(ctx)
}
@function
async def example(name: str, endpoint: str) -> str:
	return await (
		dag.otel()
		.otlphttpexporter(name, endpoint)
		.body()
	)
@func()
async example(name: string, endpoint: string): Promise<string> {
	return dag
		.otel()
		.otlpHttpExporter(name, endpoint)
		.body()
}

Receiver 🔗

Receiver is a single OpenTelemetry Collector receiver component. Body is the YAML body for this component, spliced under receivers.<kind>/<name> at render time.

kind() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-receiver --name string \
 kind
func (m *MyModule) Example(ctx context.Context, name string) string  {
	return dag.
			Otel().
			Otlpreceiver(name).
			Kind(ctx)
}
@function
async def example(name: str) -> str:
	return await (
		dag.otel()
		.otlpreceiver(name)
		.kind()
	)
@func()
async example(name: string): Promise<string> {
	return dag
		.otel()
		.otlpReceiver(name)
		.kind()
}

name() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-receiver --name string \
 name
func (m *MyModule) Example(ctx context.Context, name string) string  {
	return dag.
			Otel().
			Otlpreceiver(name).
			Name(ctx)
}
@function
async def example(name: str) -> str:
	return await (
		dag.otel()
		.otlpreceiver(name)
		.name()
	)
@func()
async example(name: string): Promise<string> {
	return dag
		.otel()
		.otlpReceiver(name)
		.name()
}

body() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 otlp-receiver --name string \
 body
func (m *MyModule) Example(ctx context.Context, name string) string  {
	return dag.
			Otel().
			Otlpreceiver(name).
			Body(ctx)
}
@function
async def example(name: str) -> str:
	return await (
		dag.otel()
		.otlpreceiver(name)
		.body()
	)
@func()
async example(name: string): Promise<string> {
	return dag
		.otel()
		.otlpReceiver(name)
		.body()
}

Pipeline 🔗

Pipeline is a single OpenTelemetry Collector pipeline binding a signal kind to an ordered set of receivers, processors, and exporters. Components are held by reference; the collector deduplicates shared components into one top-level entry per kind/name when the YAML is rendered.

signal() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 pipeline --signal string --name string \
 signal
func (m *MyModule) Example(ctx context.Context, signal string, name string) string  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Signal(ctx)
}
@function
async def example(signal: str, name: str) -> str:
	return await (
		dag.otel()
		.pipeline(signal, name)
		.signal()
	)
@func()
async example(signal: string, name: string): Promise<string> {
	return dag
		.otel()
		.pipeline(signal, name)
		.signal()
}

name() 🔗

Return Type
String !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 pipeline --signal string --name string \
 name
func (m *MyModule) Example(ctx context.Context, signal string, name string) string  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Name(ctx)
}
@function
async def example(signal: str, name: str) -> str:
	return await (
		dag.otel()
		.pipeline(signal, name)
		.name()
	)
@func()
async example(signal: string, name: string): Promise<string> {
	return dag
		.otel()
		.pipeline(signal, name)
		.name()
}

receivers() 🔗

Return Type
[Receiver ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 pipeline --signal string --name string \
 receivers
func (m *MyModule) Example(signal string, name string) []*dagger.OtelReceiver  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Receivers()
}
@function
def example(signal: str, name: str) -> List[dagger.OtelReceiver]:
	return (
		dag.otel()
		.pipeline(signal, name)
		.receivers()
	)
@func()
example(signal: string, name: string): OtelReceiver[] {
	return dag
		.otel()
		.pipeline(signal, name)
		.receivers()
}

processors() 🔗

Return Type
[Processor ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 pipeline --signal string --name string \
 processors
func (m *MyModule) Example(signal string, name string) []*dagger.OtelProcessor  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Processors()
}
@function
def example(signal: str, name: str) -> List[dagger.OtelProcessor]:
	return (
		dag.otel()
		.pipeline(signal, name)
		.processors()
	)
@func()
example(signal: string, name: string): OtelProcessor[] {
	return dag
		.otel()
		.pipeline(signal, name)
		.processors()
}

exporters() 🔗

Return Type
[Exporter ! ] !
Example
dagger -m github.com/z5labs/devex/daggerverse/otel@93616a322270189d6f9aa8985071fa6dd1f9282e call \
 pipeline --signal string --name string \
 exporters
func (m *MyModule) Example(signal string, name string) []*dagger.OtelExporter  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Exporters()
}
@function
def example(signal: str, name: str) -> List[dagger.OtelExporter]:
	return (
		dag.otel()
		.pipeline(signal, name)
		.exporters()
	)
@func()
example(signal: string, name: string): OtelExporter[] {
	return dag
		.otel()
		.pipeline(signal, name)
		.exporters()
}

withExporter() 🔗

WithExporter — see WithReceiver.

Return Type
Pipeline !
Arguments
NameTypeDefault ValueDescription
expExporter !-No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(signal string, name string, exp *dagger.OtelExporter) *dagger.OtelPipeline  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Withexporter(exp)
}
@function
def example(signal: str, name: str, exp: dagger.OtelExporter) -> dagger.OtelPipeline:
	return (
		dag.otel()
		.pipeline(signal, name)
		.withexporter(exp)
	)
@func()
example(signal: string, name: string, exp: OtelExporter): OtelPipeline {
	return dag
		.otel()
		.pipeline(signal, name)
		.withExporter(exp)
}

withProcessor() 🔗

WithProcessor — see WithReceiver.

Return Type
Pipeline !
Arguments
NameTypeDefault ValueDescription
procProcessor !-No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(signal string, name string, proc *dagger.OtelProcessor) *dagger.OtelPipeline  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Withprocessor(proc)
}
@function
def example(signal: str, name: str, proc: dagger.OtelProcessor) -> dagger.OtelPipeline:
	return (
		dag.otel()
		.pipeline(signal, name)
		.withprocessor(proc)
	)
@func()
example(signal: string, name: string, proc: OtelProcessor): OtelPipeline {
	return dag
		.otel()
		.pipeline(signal, name)
		.withProcessor(proc)
}

withReceiver() 🔗

WithReceiver appends a receiver to the pipeline and returns a new pipeline; the receiver is held by reference so it can be deduped across pipelines at render time.

Return Type
Pipeline !
Arguments
NameTypeDefault ValueDescription
recvReceiver !-No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(signal string, name string, recv *dagger.OtelReceiver) *dagger.OtelPipeline  {
	return dag.
			Otel().
			Pipeline(signal, name).
			Withreceiver(recv)
}
@function
def example(signal: str, name: str, recv: dagger.OtelReceiver) -> dagger.OtelPipeline:
	return (
		dag.otel()
		.pipeline(signal, name)
		.withreceiver(recv)
	)
@func()
example(signal: string, name: string, recv: OtelReceiver): OtelPipeline {
	return dag
		.otel()
		.pipeline(signal, name)
		.withReceiver(recv)
}