<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>beyla on Grafana Labs</title><link>https://grafana.com/docs/alloy/v1.15/reference/components/beyla/</link><description>Recent content in beyla on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/alloy/v1.15/reference/components/beyla/index.xml" rel="self" type="application/rss+xml"/><item><title>beyla.ebpf</title><link>https://grafana.com/docs/alloy/v1.15/reference/components/beyla/beyla.ebpf/</link><pubDate>Mon, 13 Apr 2026 07:37:47 +0000</pubDate><guid>https://grafana.com/docs/alloy/v1.15/reference/components/beyla/beyla.ebpf/</guid><content><![CDATA[&lt;h1 id=&#34;beylaebpf&#34;&gt;&lt;code&gt;beyla.ebpf&lt;/code&gt;&lt;/h1&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;The &lt;code&gt;beyla.ebpf&lt;/code&gt; component uses Grafana Beyla version v3.6.0.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;beyla.ebpf&lt;/code&gt; component is a wrapper for &lt;a href=&#34;https://github.com/grafana/beyla&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Beyla&lt;/a&gt; which uses &lt;a href=&#34;https://ebpf.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;eBPF&lt;/a&gt; to automatically inspect application executables and the OS networking layer, and capture trace spans related to web transactions and Rate Errors Duration (RED) metrics for Linux HTTP/S and gRPC services.
You can configure the component to collect telemetry data from a specific port or executable path, and other criteria from Kubernetes metadata.
The component exposes metrics that can be collected by a Prometheus scrape component, and traces that can be forwarded to an OTel exporter component.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;To run this component, Alloy requires administrative privileges, or at least it needs to be granted the following capabilities: &lt;code&gt;BPF&lt;/code&gt;, &lt;code&gt;SYS_PTRACE&lt;/code&gt;, &lt;code&gt;NET_RAW&lt;/code&gt;, &lt;code&gt;CAP_CHECKPOINT_RESTORE&lt;/code&gt;, &lt;code&gt;DAC_READ_SEARCH&lt;/code&gt;, and &lt;code&gt;PERFMON&lt;/code&gt;.
The number of required capabilities depends on the specific use case.
Refer to the &lt;a href=&#34;/docs/beyla/latest/security/#list-of-capabilities-required-by-beyla&#34;&gt;Beyla capabilities&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;In Kubernetes environments, the &lt;a href=&#34;https://kubernetes.io/docs/tutorials/security/apparmor/#securing-a-pod&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;AppArmor profile must be &lt;code&gt;Unconfined&lt;/code&gt;&lt;/a&gt; for the Deployment or DaemonSet running Alloy.
You must also set the &lt;code&gt;hostPID&lt;/code&gt; flag to &lt;code&gt;true&lt;/code&gt; in the Pod spec so that in can access all the processes running on the host.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;&amp;lt;LABEL&amp;gt;&amp;#34; {

}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;arguments&#34;&gt;Arguments&lt;/h2&gt;
&lt;p&gt;You can use the following arguments with &lt;code&gt;beyla.ebpf&lt;/code&gt;:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;debug&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable debug mode for Beyla.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;enforce_sys_caps&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enforce system capabilities required for eBPF instrumentation.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;trace_printer&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format for printing trace information.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;disabled&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;code&gt;debug&lt;/code&gt; enables debug mode for Beyla. This mode logs BPF logs, network logs, trace representation logs, and other debug information.&lt;/p&gt;
&lt;p&gt;When &lt;code&gt;enforce_sys_caps&lt;/code&gt;  is set to true and the required system capabilities aren&amp;rsquo;t present, Beyla aborts its startup and logs a list of the missing capabilities.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;trace_printer&lt;/code&gt; is used to print the trace information in a specific format.
The following formats are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;disabled&lt;/code&gt;: Disables trace printing.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;counter&lt;/code&gt;: Prints the trace information in a counter format.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text&lt;/code&gt;: Prints the trace information in a text format.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;json&lt;/code&gt;: Prints the trace information in a JSON format.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;json_indent&lt;/code&gt;: Prints the trace information in a JSON format with indentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;blocks&#34;&gt;Blocks&lt;/h2&gt;
&lt;p&gt;You can use the following blocks with &lt;code&gt;beyla.ebpf&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;config-app&#34; style=&#34;--config-tree-row-count: 32;&#34; x3-data=&#34;configVisualizer(&amp;#34;\u003csection class=\&amp;#34;expand-table-wrapper\&amp;#34;\u003e\u003cdiv class=\&amp;#34;button-div\&amp;#34;\u003e\n      \u003cbutton class=\&amp;#34;expand-table-btn\&amp;#34;\u003eExpand table\u003c/button\u003e\n    \u003c/div\u003e\u003cdiv class=\&amp;#34;responsive-table-wrapper\&amp;#34;\u003e\n    \u003ctable\u003e\n      \u003cthead\u003e\n          \u003ctr\u003e\n              \u003cth\u003eBlock\u003c/th\u003e\n              \u003cth\u003eDescription\u003c/th\u003e\n              \u003cth\u003eRequired\u003c/th\u003e\n          \u003c/tr\u003e\n      \u003c/thead\u003e\n      \u003ctbody\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#output\&amp;#34;\u003e\u003ccode\u003eoutput\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures where to send received telemetry data.\u003c/td\u003e\n              \u003ctd\u003eyes\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#attributes\&amp;#34;\u003e\u003ccode\u003eattributes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the Beyla attributes for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003eattributes\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#kubernetes-attributes\&amp;#34;\u003e\u003ccode\u003ekubernetes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures decorating of the metrics and traces with Kubernetes metadata of the instrumented Pods.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003eattributes\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#instance_id\&amp;#34;\u003e\u003ccode\u003einstance_id\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures instance ID settings.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003eattributes\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#select\&amp;#34;\u003e\u003ccode\u003eselect\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures which attributes to include or exclude for specific sections.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#discovery\&amp;#34;\u003e\u003ccode\u003ediscovery\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the discovery for processes to instrument matching given criteria.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#services\&amp;#34;\u003e\u003ccode\u003einstrument\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the services to discover and instrument for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ccode\u003einstrument\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#kubernetes-services\&amp;#34;\u003e\u003ccode\u003ekubernetes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the Kubernetes services to discover and instrument for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ccode\u003einstrument\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#sampler\&amp;#34;\u003e\u003ccode\u003esampler\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures trace sampling for the service.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#services\&amp;#34;\u003e\u003ccode\u003eexclude_instrument\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the services to exclude from instrumentation for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ccode\u003eexclude_instrument\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#kubernetes-services\&amp;#34;\u003e\u003ccode\u003ekubernetes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the Kubernetes services to exclude from instrumentation for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#services\&amp;#34;\u003e\u003ccode\u003edefault_exclude_instrument\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the default services to exclude from instrumentation for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ccode\u003edefault_exclude_instrument\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#kubernetes-services\&amp;#34;\u003e\u003ccode\u003ekubernetes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the default Kubernetes services to exclude from instrumentation for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#services\&amp;#34;\u003e\u003ccode\u003esurvey\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the surveying mechanism for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003ediscovery\u003c/code\u003e \u0026gt; \u003ccode\u003esurvey\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#kubernetes-services\&amp;#34;\u003e\u003ccode\u003ekubernetes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the Kubernetes surveying mechanism for the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#ebpf\&amp;#34;\u003e\u003ccode\u003eebpf\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures eBPF-specific settings.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003eebpf\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#payload_extraction\&amp;#34;\u003e\u003ccode\u003epayload_extraction\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures HTTP payload extraction for protocol-aware parsing.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003eebpf\u003c/code\u003e \u0026gt; \u003ccode\u003epayload_extraction\u003c/code\u003e \u0026gt; \u003ccode\u003ehttp\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#openai\&amp;#34;\u003e\u003ccode\u003eopenai\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures OpenAI payload extraction.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#filters\&amp;#34;\u003e\u003ccode\u003efilters\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures filtering of attributes.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003efilters\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#application\&amp;#34;\u003e\u003ccode\u003eapplication\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures filtering of application attributes.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003efilters\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#network-filters\&amp;#34;\u003e\u003ccode\u003enetwork\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures filtering of network attributes.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#metrics\&amp;#34;\u003e\u003ccode\u003emetrics\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures which metrics Beyla exposes.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003emetrics\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#network-metrics\&amp;#34;\u003e\u003ccode\u003enetwork\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures network metrics options for Beyla.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#traces\&amp;#34;\u003e\u003ccode\u003etraces\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures trace collection and sampling options for all services instrumented by the component.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003etraces\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#sampler\&amp;#34;\u003e\u003ccode\u003esampler\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures global trace sampling settings\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#routes\&amp;#34;\u003e\u003ccode\u003eroutes\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the routes to match HTTP paths into user-provided HTTP routes.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ca href=\&amp;#34;#injector\&amp;#34;\u003e\u003ccode\u003einjector\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the SDK injection feature for automatic instrumentation without eBPF.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003einjector\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#services\&amp;#34;\u003e\u003ccode\u003einstrument\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the services to instrument with SDK injection.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003einjector\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#webhook\&amp;#34;\u003e\u003ccode\u003ewebhook\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures the webhook for SDK injection.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003einjector\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#export\&amp;#34;\u003e\u003ccode\u003eexport\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures which telemetry signals the injected SDK exports.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003einjector\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#resources\&amp;#34;\u003e\u003ccode\u003eresources\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures resource attributes for the injected SDK.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n          \u003ctr\u003e\n              \u003ctd\u003e\u003ccode\u003einjector\u003c/code\u003e \u0026gt; \u003ca href=\&amp;#34;#sampler\&amp;#34;\u003e\u003ccode\u003esampler\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n              \u003ctd\u003eConfigures default trace sampling for injected SDKs.\u003c/td\u003e\n              \u003ctd\u003eno\u003c/td\u003e\n          \u003c/tr\u003e\n      \u003c/tbody\u003e\n    \u003c/table\u003e\n  \u003c/div\u003e\n\u003c/section\u003e&amp;#34;)&#34;&gt;
  &lt;noscript&gt;
    &lt;div class=&#34;config-app__noscript&#34;&gt;&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Block&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#output&#34;&gt;&lt;code&gt;output&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures where to send received telemetry data.&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#attributes&#34;&gt;&lt;code&gt;attributes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the Beyla attributes for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attributes&lt;/code&gt; &amp;gt; &lt;a href=&#34;#kubernetes-attributes&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures decorating of the metrics and traces with Kubernetes metadata of the instrumented Pods.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attributes&lt;/code&gt; &amp;gt; &lt;a href=&#34;#instance_id&#34;&gt;&lt;code&gt;instance_id&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures instance ID settings.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attributes&lt;/code&gt; &amp;gt; &lt;a href=&#34;#select&#34;&gt;&lt;code&gt;select&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures which attributes to include or exclude for specific sections.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#discovery&#34;&gt;&lt;code&gt;discovery&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the discovery for processes to instrument matching given criteria.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;a href=&#34;#services&#34;&gt;&lt;code&gt;instrument&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the services to discover and instrument for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;instrument&lt;/code&gt; &amp;gt; &lt;a href=&#34;#kubernetes-services&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the Kubernetes services to discover and instrument for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;instrument&lt;/code&gt; &amp;gt; &lt;a href=&#34;#sampler&#34;&gt;&lt;code&gt;sampler&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures trace sampling for the service.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;a href=&#34;#services&#34;&gt;&lt;code&gt;exclude_instrument&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the services to exclude from instrumentation for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;exclude_instrument&lt;/code&gt; &amp;gt; &lt;a href=&#34;#kubernetes-services&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the Kubernetes services to exclude from instrumentation for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;a href=&#34;#services&#34;&gt;&lt;code&gt;default_exclude_instrument&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the default services to exclude from instrumentation for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;default_exclude_instrument&lt;/code&gt; &amp;gt; &lt;a href=&#34;#kubernetes-services&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the default Kubernetes services to exclude from instrumentation for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;a href=&#34;#services&#34;&gt;&lt;code&gt;survey&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the surveying mechanism for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;survey&lt;/code&gt; &amp;gt; &lt;a href=&#34;#kubernetes-services&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the Kubernetes surveying mechanism for the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#ebpf&#34;&gt;&lt;code&gt;ebpf&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures eBPF-specific settings.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ebpf&lt;/code&gt; &amp;gt; &lt;a href=&#34;#payload_extraction&#34;&gt;&lt;code&gt;payload_extraction&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures HTTP payload extraction for protocol-aware parsing.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ebpf&lt;/code&gt; &amp;gt; &lt;code&gt;payload_extraction&lt;/code&gt; &amp;gt; &lt;code&gt;http&lt;/code&gt; &amp;gt; &lt;a href=&#34;#openai&#34;&gt;&lt;code&gt;openai&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures OpenAI payload extraction.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#filters&#34;&gt;&lt;code&gt;filters&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures filtering of attributes.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;filters&lt;/code&gt; &amp;gt; &lt;a href=&#34;#application&#34;&gt;&lt;code&gt;application&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures filtering of application attributes.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;filters&lt;/code&gt; &amp;gt; &lt;a href=&#34;#network-filters&#34;&gt;&lt;code&gt;network&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures filtering of network attributes.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#metrics&#34;&gt;&lt;code&gt;metrics&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures which metrics Beyla exposes.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;metrics&lt;/code&gt; &amp;gt; &lt;a href=&#34;#network-metrics&#34;&gt;&lt;code&gt;network&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures network metrics options for Beyla.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#traces&#34;&gt;&lt;code&gt;traces&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures trace collection and sampling options for all services instrumented by the component.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;traces&lt;/code&gt; &amp;gt; &lt;a href=&#34;#sampler&#34;&gt;&lt;code&gt;sampler&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures global trace sampling settings&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#routes&#34;&gt;&lt;code&gt;routes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the routes to match HTTP paths into user-provided HTTP routes.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#injector&#34;&gt;&lt;code&gt;injector&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the SDK injection feature for automatic instrumentation without eBPF.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;injector&lt;/code&gt; &amp;gt; &lt;a href=&#34;#services&#34;&gt;&lt;code&gt;instrument&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the services to instrument with SDK injection.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;injector&lt;/code&gt; &amp;gt; &lt;a href=&#34;#webhook&#34;&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures the webhook for SDK injection.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;injector&lt;/code&gt; &amp;gt; &lt;a href=&#34;#export&#34;&gt;&lt;code&gt;export&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures which telemetry signals the injected SDK exports.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;injector&lt;/code&gt; &amp;gt; &lt;a href=&#34;#resources&#34;&gt;&lt;code&gt;resources&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures resource attributes for the injected SDK.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;injector&lt;/code&gt; &amp;gt; &lt;a href=&#34;#sampler&#34;&gt;&lt;code&gt;sampler&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Configures default trace sampling for injected SDKs.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;/div&gt;
  &lt;/noscript&gt;
  &lt;main class=&#34;config-app__main&#34;&gt;
    &lt;template x3-if=&#34;flatBlocks.length === 0&#34;&gt;
      &lt;div class=&#34;empty-state&#34;&gt;
        &lt;div class=&#34;empty-state__icon&#34; x3-html=&#34;icons.AlertCircle&#34;&gt;&lt;/div&gt;
        &lt;p&gt;No valid configuration blocks found.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/template&gt;

    &lt;template x3-if=&#34;flatBlocks.length &gt; 0&#34;&gt;
      &lt;div class=&#34;config-tree&#34;&gt;
        &lt;div class=&#34;config-tree__toolbar&#34;&gt;
          &lt;div class=&#34;config-tree__title&#34;&gt;&lt;/div&gt;
          &lt;button
            class=&#34;tree-explorer__button w-130 text-right&#34;
            x3-on:click=&#34;toggleExpandAll&#34;
            x3-bind:title=&#34;allExpanded ? &#39;Collapse all&#39; : &#39;Expand all&#39;&#34;
          &gt;
            &lt;span x3-text=&#34;allExpanded ? &#39;Collapse all&#39; : &#39;Expand all&#39;&#34;&gt;&lt;/span&gt;
            &lt;svg class=&#34;api-icon&#34; viewBox=&#34;0 0 24 24&#34;&gt;
              &lt;path x3-show=&#34;!allExpanded&#34; d=&#34;m6 9 6 6 6-6&#34; /&gt;
              &lt;path x3-show=&#34;allExpanded&#34; d=&#34;m18 15-6-6-6 6&#34; /&gt;
            &lt;/svg&gt;
          &lt;/button&gt;
        &lt;/div&gt;

        &lt;div class=&#34;nodes-container&#34;&gt;
          &lt;template x3-for=&#34;block in flatBlocks&#34; x3-bind:key=&#34;block.id&#34;&gt;
            &lt;div class=&#34;node&#34; x3-bind:class=&#34;isNodeVisible(block) ? &#39;node--visible&#39; : &#39;node--hidden&#39;&#34;&gt;
              &lt;div
                class=&#34;node__row&#34;
                x3-bind:class=&#34;getRowClass(block)&#34;
                x3-bind:style=&#34;`padding-left: ${block.level * 24 &#43; 16}px`&#34;
                x3-on:click=&#34;toggleNode(block.id)&#34;
              &gt;
                &lt;div class=&#34;node__left&#34;&gt;
                  &lt;div class=&#34;node__indicator&#34;&gt;
                    &lt;template x3-if=&#34;block.hasChildren&#34;&gt;
                      &lt;button type=&#34;button&#34; class=&#34;node__toggle&#34; x3-on:click.stop=&#34;toggleNode(block.id)&#34;&gt;
                        &lt;div
                          class=&#34;node__toggle-icon&#34;
                          x3-bind:class=&#34;block.expanded ? &#39;node__toggle-icon--expanded&#39; : &#39;&#39;&#34;
                          x3-html=&#34;icons.ChevronDown&#34;
                        &gt;&lt;/div&gt;
                      &lt;/button&gt;
                    &lt;/template&gt;
                    &lt;template x3-if=&#34;!block.hasChildren&#34;&gt;
                      &lt;div class=&#34;node__toggle-spacer&#34;&gt;&lt;/div&gt;
                    &lt;/template&gt;
                  &lt;/div&gt;

                  &lt;div class=&#34;node__content&#34;&gt;
                    &lt;div
                      class=&#34;node__title prose&#34;
                      x3-bind:class=&#34;block.level === 0 ? &#39;node__title--root&#39; : &#39;node__title--nested&#39;&#34;
                      x3-html=&#34;block.displayName&#34;
                    &gt;&lt;/div&gt;
                    &lt;div class=&#34;node__description body-xsmall&#34; x3-html=&#34;block.description&#34;&gt;&lt;/div&gt;
                  &lt;/div&gt;
                &lt;/div&gt;

                &lt;div class=&#34;node__meta&#34;&gt;
                  &lt;span
                    class=&#34;badge&#34;
                    x3-bind:class=&#34;block.required ? &#39;badge--required&#39; : &#39;badge--optional&#39;&#34;
                    x3-text=&#34;block.required ? &#39;Required&#39; : &#39;Optional&#39;&#34;
                  &gt;&lt;/span&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/template&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/template&gt;
  &lt;/main&gt;
&lt;/div&gt;

&lt;h3 id=&#34;output&#34;&gt;&lt;code&gt;output&lt;/code&gt;&lt;/h3&gt;
&lt;span class=&#34;docs-labels__stage docs-labels__small docs-labels__item mr-half&#34;&gt;
  Required
  &lt;/span&gt;

&lt;p&gt;The &lt;code&gt;output&lt;/code&gt; block configures a set of components to forward the resulting telemetry data to.&lt;/p&gt;
&lt;p&gt;The following arguments are supported:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;traces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(otelcol.Consumer)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of consumers to send traces to.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;You must specify the &lt;code&gt;output&lt;/code&gt; block, but all its arguments are optional.
By default, telemetry data is dropped.
Configure the &lt;code&gt;traces&lt;/code&gt; argument to send traces data to other components.&lt;/p&gt;
&lt;h3 id=&#34;attributes&#34;&gt;&lt;code&gt;attributes&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;attributes&lt;/code&gt; block configures how some attributes for metrics and traces are decorated.&lt;/p&gt;
&lt;p&gt;It contains the following blocks:&lt;/p&gt;
&lt;h4 id=&#34;kubernetes-attributes&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt; attributes&lt;/h4&gt;
&lt;p&gt;This &lt;code&gt;kubernetes&lt;/code&gt; block configures the decorating of the metrics and traces with Kubernetes metadata from the instrumented Pods.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;cluster_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The name of the Kubernetes cluster.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;disable_informers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of Kubernetes informers to disable.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;enable&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable the Kubernetes metadata decoration.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;autodetect&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;informers_resync_period&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Period for Kubernetes informers resynchronization.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;30m&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;informers_sync_timeout&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Timeout for Kubernetes informers synchronization.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;meta_cache_address&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Address of the Kubernetes metadata cache service.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;meta_restrict_local_node&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Restrict Kubernetes metadata collection to local node.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;If &lt;code&gt;cluster_name&lt;/code&gt; isn&amp;rsquo;t set, Beyla tries to detect the cluster name from the Kubernetes API.&lt;/p&gt;
&lt;p&gt;If &lt;code&gt;enable&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt;, Beyla decorates the metrics and traces with Kubernetes metadata.
The following labels are added:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;k8s.daemonset.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.deployment.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.namespace.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.node.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.pod.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.pod.start_time&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.pod.uid&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.replicaset.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.statefulset.name&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If &lt;code&gt;enable&lt;/code&gt; is set to &lt;code&gt;false&lt;/code&gt;, the Kubernetes metadata decorator is disabled.&lt;/p&gt;
&lt;p&gt;If &lt;code&gt;enable&lt;/code&gt; is set to &lt;code&gt;autodetect&lt;/code&gt;, Beyla tries to detect if it&amp;rsquo;s running inside Kubernetes, and enables the metadata decoration if that&amp;rsquo;s the case.&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;disable_informers&lt;/code&gt;, you can specify the Kubernetes informers to disable. The accepted value is a list that might contain &lt;code&gt;node&lt;/code&gt; and &lt;code&gt;service&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;instance_id&#34;&gt;&lt;code&gt;instance_id&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;instance_id&lt;/code&gt; block configures instance ID settings.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;dns&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable DNS resolution for hostname.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;override_hostname&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Override the hostname used for instance identification.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;select&#34;&gt;&lt;code&gt;select&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;select&lt;/code&gt; block configures which attributes to include or exclude for specific metric/trace sections.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attr&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The attribute name to select.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;exclude&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of attributes to exclude.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;include&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of attributes to include. Use &lt;code&gt;*&lt;/code&gt; to include all.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;code&gt;include&lt;/code&gt; is a list of attributes that need to be reported.
Each attribute can be an attribute name or a wildcard, for example, &lt;code&gt;k8s.dst.*&lt;/code&gt; to include all the attributes starting with &lt;code&gt;k8s.dst&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;exclude&lt;/code&gt; is a list to of attribute names/wildcards containing the attributes to remove from the &lt;code&gt;include&lt;/code&gt; list, or from the default attribute set.&lt;/p&gt;
&lt;p&gt;The following example shows how you can include and exclude specific attributes:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
attributes {
    select {
        attr = &amp;#34;sql_client_duration&amp;#34;
        include = [&amp;#34;*&amp;#34;]
        exclude = [&amp;#34;db_statement&amp;#34;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Additionally, you can use &lt;code&gt;*&lt;/code&gt; wildcards as metric names to add and exclude attributes for groups of metrics having the same name.
For example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  attributes {
    select {
        attr = &amp;#34;http_*&amp;#34;
        include = [&amp;#34;*&amp;#34;]
        exclude = [&amp;#34;http_path&amp;#34;, &amp;#34;http_route&amp;#34;]
    }
    select {
        attr = &amp;#34;http_client_*&amp;#34;
        // override http_* exclusion
        include = [&amp;#34;http_path&amp;#34;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In the previous example, all the metrics with a name starting with &lt;code&gt;http_&lt;/code&gt; or &lt;code&gt;http.&lt;/code&gt; would include all the possible attributes but &lt;code&gt;http_path&lt;/code&gt; and &lt;code&gt;http_route&lt;/code&gt; or &lt;code&gt;http.path&lt;/code&gt; and &lt;code&gt;http.route&lt;/code&gt;.
The &lt;code&gt;http_client_*&lt;/code&gt; section would override the base configuration, enabling the &lt;code&gt;http_path&lt;/code&gt; attribute for the HTTP client metrics and &lt;code&gt;http_route&lt;/code&gt; for the HTTP server metrics.&lt;/p&gt;
&lt;h3 id=&#34;discovery&#34;&gt;&lt;code&gt;discovery&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;discovery&lt;/code&gt; block configures the discovery for processes to instrument matching given criteria.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;exclude_otel_instrumented_services&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Exclude services that are already instrumented with OpenTelemetry.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;skip_go_specific_tracers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Skip Go-specific tracers during discovery.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;It contains the following blocks:&lt;/p&gt;
&lt;h4 id=&#34;instrument&#34;&gt;&lt;code&gt;instrument&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;instrument&lt;/code&gt; block configures the services to discover and instrument using &lt;a href=&#34;https://github.com/gobwas/glob&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;glob patterns&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The name of the service to match.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;namespace&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The namespace of the service to match.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;open_ports&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The port of the running service for Beyla automatically instrumented with eBPF.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;exe_path&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The path of the running service for Beyla automatically instrumented with eBPF.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;cmd_args&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Glob pattern to match the process command-line arguments.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;containers_only&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Restrict the discovery to processes which are running inside a container.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;exports&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Export modes for the service. Valid values: &lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;traces&amp;quot;&lt;/code&gt;.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;code&gt;exe_path&lt;/code&gt; accepts a glob pattern to be matched against the full executable command line, including the directory where the executable resides on the file system.
Common glob patterns include &lt;code&gt;*&lt;/code&gt; (matches any sequence of characters) and &lt;code&gt;?&lt;/code&gt; (matches any single character).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cmd_args&lt;/code&gt; accepts a glob pattern to be matched against the process command-line arguments, excluding the executable name.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;name&lt;/code&gt; defines a name for the matching instrumented service.
It&amp;rsquo;s used to populate the &lt;code&gt;service.name&lt;/code&gt; OTel property or the &lt;code&gt;service_name&lt;/code&gt; Prometheus property in the exported metrics/traces.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;open_ports&lt;/code&gt; accepts a comma-separated list of ports (for example, &lt;code&gt;80,443&lt;/code&gt;), and port ranges (for example, &lt;code&gt;8000-8999&lt;/code&gt;).
If the executable matches only one of the ports in the list, it&amp;rsquo;s considered to match the selection criteria.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;exports&lt;/code&gt; specifies what types of telemetry data to export for the matching service.
You can specify &lt;code&gt;&amp;quot;metrics&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;traces&amp;quot;&lt;/code&gt;, or both.
If empty, the service will export both metrics and traces by default.&lt;/p&gt;
&lt;h4 id=&#34;exclude_instrument&#34;&gt;&lt;code&gt;exclude_instrument&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;exclude_instrument&lt;/code&gt; block configures services to exclude from instrumentation using glob patterns.
Services matching these criteria won&amp;rsquo;t be instrumented even if they match the &lt;code&gt;instrument&lt;/code&gt; selection.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;exclude_instrument&lt;/code&gt; block uses the same configuration options as the &lt;code&gt;instrument&lt;/code&gt; block.&lt;/p&gt;
&lt;h4 id=&#34;default_exclude_instrument&#34;&gt;&lt;code&gt;default_exclude_instrument&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;default_exclude_instrument&lt;/code&gt; block disables instrumentation of Grafana Alloy and related components by default.
The default value for &lt;code&gt;exe_path&lt;/code&gt; uses a glob pattern that matches &lt;code&gt;beyla&lt;/code&gt;, &lt;code&gt;alloy&lt;/code&gt;, and &lt;code&gt;otelcol*&lt;/code&gt; executables.
Set to empty to allow Alloy to instrument itself as well as these other components.&lt;/p&gt;
&lt;h4 id=&#34;survey&#34;&gt;&lt;code&gt;survey&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;survey&lt;/code&gt; block configures services for discovery without instrumentation using glob patterns.
Instead of instrumenting matching services, the component will only emit a &lt;code&gt;survey_info&lt;/code&gt; metric for each discovered service.
This can be helpful for informing external applications of the services available for instrumentation.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;survey&lt;/code&gt; block uses the same configuration options as the &lt;code&gt;instrument&lt;/code&gt; block.&lt;/p&gt;
&lt;h4 id=&#34;kubernetes-services&#34;&gt;&lt;code&gt;kubernetes&lt;/code&gt; services&lt;/h4&gt;
&lt;p&gt;This &lt;code&gt;kubernetes&lt;/code&gt; block filters the services to instrument based on their Kubernetes metadata. If you specify other selectors in the same services entry,
the instrumented processes need to match all the selector properties.&lt;/p&gt;
&lt;p&gt;When used with &lt;code&gt;instrument&lt;/code&gt;, &lt;code&gt;exclude_instrument&lt;/code&gt;, &lt;code&gt;default_exclude_instrument&lt;/code&gt;, or &lt;code&gt;survey&lt;/code&gt; blocks, the patterns use glob syntax.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;daemonset_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes DaemonSets.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;deployment_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes Deployments.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;namespace&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes Namespaces.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;owner_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes owners of running Pods.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;pod_labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Key-value pairs of labels with keys matching Kubernetes Pods with the provided value as pattern.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;pod_annotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Key-value pairs of labels with keys matching Kubernetes annotations with the provided value as pattern.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;pod_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes Pods.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;replicaset_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes ReplicaSets.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;statefulset_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pattern to match Kubernetes StatefulSets.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  discovery {
    // Instrument all services with 8080 open port
    instrument {
      open_ports = &amp;#34;8080&amp;#34;
    }
    // Instrument all services from the default namespace
    instrument {
      kubernetes {
        namespace = &amp;#34;default&amp;#34;
      }
    }
    // Exclude all services from the kube-system namespace
    exclude_instrument {
      kubernetes {
        namespace = &amp;#34;kube-system&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;traces&#34;&gt;&lt;code&gt;traces&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;traces&lt;/code&gt; block configures trace collection and sampling options for the beyla.ebpf component.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;To export traces, you must also configure the [&lt;code&gt;output&lt;/code&gt;][output] block with a &lt;code&gt;traces&lt;/code&gt; destination.
Without an output configuration, traces are collected but not exported.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;instrumentations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of instrumentations to enable for trace collection.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[&amp;quot;*&amp;quot;]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;The supported values for &lt;code&gt;instrumentations&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;*&lt;/code&gt;: Enables all &lt;code&gt;instrumentations&lt;/code&gt;. If &lt;code&gt;*&lt;/code&gt; is present in the list, the other values are ignored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grpc&lt;/code&gt;: Enables the collection of gRPC traces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gpu&lt;/code&gt;: Enables the collection of GPU performance traces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http&lt;/code&gt;: Enables the collection of HTTP/HTTPS/HTTP2 traces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kafka&lt;/code&gt;: Enables the collection of Kafka client/server traces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mongo&lt;/code&gt;: Enables the collection of MongoDB database traces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;redis&lt;/code&gt;: Enables the collection of Redis client/server database traces.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sql&lt;/code&gt;: Enables the collection of SQL database client call traces.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  traces {
    instrumentations = [&amp;#34;http&amp;#34;, &amp;#34;grpc&amp;#34;, &amp;#34;sql&amp;#34;]
    sampler {
      name = &amp;#34;traceidratio&amp;#34;
      arg = &amp;#34;0.1&amp;#34;  // Global 10% sampling rate for all traces
    }
  }
  output {
    traces = [otelcol.processor.batch.default.input]
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For per-service sampling configuration, use the &lt;code&gt;sampler&lt;/code&gt; block within the &lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;instrument&lt;/code&gt; section instead.&lt;/p&gt;
&lt;h3 id=&#34;sampler&#34;&gt;&lt;code&gt;sampler&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;sampler&lt;/code&gt; block configures trace sampling settings. This block can be used in two contexts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Per-service sampling&lt;/strong&gt; - as a sub-block of &lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;instrument&lt;/code&gt; to configure sampling for individual discovered services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global sampling&lt;/strong&gt; - as a sub-block of &lt;code&gt;traces&lt;/code&gt; to configure sampling for all traces collected by the component&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The following arguments are supported:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The argument for the sampling strategy.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The name of the sampling strategy to use.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;The supported values for &lt;code&gt;name&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;traceidratio&lt;/code&gt;: Samples traces based on a ratio of trace IDs. The &lt;code&gt;arg&lt;/code&gt; must be a decimal value between 0 and 1. For example, &lt;code&gt;&amp;quot;0.1&amp;quot;&lt;/code&gt; for 10% sampling.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;always_on&lt;/code&gt;: Always samples traces. No &lt;code&gt;arg&lt;/code&gt; required.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;always_off&lt;/code&gt;: Never samples traces. No &lt;code&gt;arg&lt;/code&gt; required.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;parentbased_always_on&lt;/code&gt;: Uses parent-based sampling that always samples when there&amp;rsquo;s no parent span. This is the default behavior.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;parentbased_always_off&lt;/code&gt;: Uses parent-based sampling that never samples when there&amp;rsquo;s no parent span.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;parentbased_traceidratio&lt;/code&gt;: Uses parent-based sampling with trace ID ratio-based sampling for root spans. The &lt;code&gt;arg&lt;/code&gt; must be a decimal value between 0 and 1.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;examples&#34;&gt;Examples&lt;/h4&gt;
&lt;p&gt;Per-service sampling (configured within &lt;code&gt;discovery&lt;/code&gt; &amp;gt; &lt;code&gt;instrument&lt;/code&gt;):&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  discovery {
    instrument {
      open_ports = &amp;#34;8080&amp;#34;
      sampler {
        name = &amp;#34;traceidratio&amp;#34;
        arg = &amp;#34;0.1&amp;#34;  // 10% sampling rate for this specific service
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Global sampling (configured within &lt;code&gt;traces&lt;/code&gt;):&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  traces {
    instrumentations = [&amp;#34;http&amp;#34;, &amp;#34;grpc&amp;#34;, &amp;#34;sql&amp;#34;]
    sampler {
      name = &amp;#34;traceidratio&amp;#34;
      arg = &amp;#34;0.1&amp;#34;  // Global 10% sampling rate for all traces
    }
  }
  output {
    traces = [otelcol.processor.batch.default.input]
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;ebpf&#34;&gt;&lt;code&gt;ebpf&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;ebpf&lt;/code&gt; block configures eBPF-specific settings.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;wakeup_len&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Number of messages to accumulate before wakeup request.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;track_request_headers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable tracking of request headers for Traceparent fields.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;http_request_timeout&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Timeout for HTTP requests.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;context_propagation&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enables injecting of the Traceparent header value for outgoing HTTP requests.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;disabled&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;high_request_volume&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Optimize for immediate request information when response is seen.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;heuristic_sql_detect&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable heuristic-based detection of SQL requests.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;context_propagation&#34;&gt;&lt;code&gt;context_propagation&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;context_propagation&lt;/code&gt; allows Beyla to propagate any incoming context to downstream services.
This context propagation support works for any programming language.&lt;/p&gt;
&lt;p&gt;For TLS encrypted HTTP requests (HTTPS), the Traceparent header value is encoded at TCP packet level,
and requires that Beyla is present on both sides of the communication.&lt;/p&gt;
&lt;p&gt;The TCP packet level encoding uses Linux Traffic Control (TC).
eBPF programs that also use TC need to chain correctly with Beyla.
For more information about chaining programs, refer to the &lt;a href=&#34;/docs/beyla/latest/cilium-compatibility/&#34;&gt;Cilium compatibility&lt;/a&gt; documentation.&lt;/p&gt;
&lt;p&gt;You can disable the TCP-level encoding and TC programs by setting &lt;code&gt;context_propagation&lt;/code&gt; to &lt;code&gt;&amp;quot;headers&amp;quot;&lt;/code&gt;.
This context propagation support is fully compatible with any OpenTelemetry distributed tracing library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;context_propagation&lt;/code&gt; can be set to either one of the following values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;all&lt;/code&gt;: Enable both HTTP headers and TCP context propagation.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;headers&lt;/code&gt;: Enable context propagation via the HTTP headers only.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tcp&lt;/code&gt;: Enable context propagation via TCP only.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;disabled&lt;/code&gt;: Disable trace context propagation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The deprecated value &lt;code&gt;ip&lt;/code&gt; is still accepted by upstream Beyla for compatibility, but it has no effect.&lt;/p&gt;
&lt;h4 id=&#34;payload_extraction&#34;&gt;&lt;code&gt;payload_extraction&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;payload_extraction&lt;/code&gt; block configures protocol-aware HTTP payload parsing.&lt;/p&gt;
&lt;h5 id=&#34;http&#34;&gt;&lt;code&gt;http&lt;/code&gt;&lt;/h5&gt;
&lt;h6 id=&#34;openai&#34;&gt;&lt;code&gt;openai&lt;/code&gt;&lt;/h6&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable OpenAI payload extraction parsing.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;When enabled, Beyla parses supported OpenAI HTTP payloads and can enrich traces with GenAI-related attributes.&lt;/p&gt;
&lt;h3 id=&#34;filters&#34;&gt;&lt;code&gt;filters&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;filters&lt;/code&gt; block allows you to filter both application and network metrics by attribute values.&lt;/p&gt;
&lt;p&gt;For a list of metrics under the application and network family, as well as their attributes, refer to the &lt;a href=&#34;/docs/beyla/latest/metrics/&#34;&gt;Beyla exported metrics&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It contains the following blocks:&lt;/p&gt;
&lt;h4 id=&#34;application&#34;&gt;&lt;code&gt;application&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;application&lt;/code&gt; block configures filtering of application attributes.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attr&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The name of the attribute to match.&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;match&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;String to match attribute values.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;not_match&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;String to exclude matching values.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Both properties accept a
&lt;a href=&#34;https://github.com/gobwas/glob&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;glob-like&lt;/a&gt; string (it can be a full value or include
wildcards).&lt;/p&gt;
&lt;h4 id=&#34;network-filters&#34;&gt;&lt;code&gt;network&lt;/code&gt; filters&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;network&lt;/code&gt; block configures filtering of network attributes.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attr&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The name of the attribute to match.&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;match&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;String to match attribute values.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;not_match&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;String to exclude matching values.&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Both properties accept a
&lt;a href=&#34;https://github.com/gobwas/glob&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;glob-like&lt;/a&gt; string (it can be a full value or include
wildcards).&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  filters {
    application {
      attr = &amp;#34;url.path&amp;#34;
      match = &amp;#34;/user/*&amp;#34;
    }
    network {
      attr = &amp;#34;k8s.src.owner.name&amp;#34;
      match = &amp;#34;*&amp;#34;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;metrics&#34;&gt;&lt;code&gt;metrics&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;metrics&lt;/code&gt; block configures which metrics Beyla collects.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;allow_service_graph_self_references&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Allow service graph metrics to reference the same service.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;features&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of features to enable for the metrics.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[&amp;quot;application&amp;quot;]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;instrumentations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of instrumentations to enable for the metrics.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[&amp;quot;*&amp;quot;]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;extra_resource_labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of OTEL resource labels to include on &lt;code&gt;target_info&lt;/code&gt;.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;extra_span_resource_labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of OTEL resource labels to include on span metrics.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[&amp;quot;k8s.cluster.name&amp;quot;, &amp;quot;k8s.namespace.name&amp;quot;, &amp;quot;service.version&amp;quot;, &amp;quot;deployment.environment&amp;quot;]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;native_histograms&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Use Prometheus native histograms.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;code&gt;features&lt;/code&gt; is a list of features to enable for the metrics. The following features are available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application&lt;/code&gt; exports application-level metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application_process&lt;/code&gt; exports metrics about the processes that run the instrumented application.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application_service_graph&lt;/code&gt; exports application-level service graph metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application_span&lt;/code&gt; exports application-level metrics in traces span metrics format.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application_span_otel&lt;/code&gt; exports OpenTelemetry-compatible span metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application_span_sizes&lt;/code&gt; exports span size metrics for trace analysis.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application_host&lt;/code&gt; exports application-level host metrics for host-based pricing.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;network&lt;/code&gt; exports network-level metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;network_inter_zone&lt;/code&gt; exports network-level inter-zone metrics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;instrumentations&lt;/code&gt; is a list of instrumentations to enable for the metrics. The following instrumentations are available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;*&lt;/code&gt; enables all &lt;code&gt;instrumentations&lt;/code&gt;. If &lt;code&gt;*&lt;/code&gt; is present in the list, the other values are ignored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grpc&lt;/code&gt; enables the collection of gRPC application metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gpu&lt;/code&gt; enables the collection of GPU performance metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http&lt;/code&gt; enables the collection of HTTP/HTTPS/HTTP2 application metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kafka&lt;/code&gt; enables the collection of Kafka client/server message queue metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mongo&lt;/code&gt; enables the collection of MongoDB database metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;redis&lt;/code&gt; enables the collection of Redis client/server database metrics.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sql&lt;/code&gt; enables the collection of SQL database client call metrics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;extra_resource_labels&lt;/code&gt; is a list of OTEL resource labels, supplied through the &lt;code&gt;OTEL_RESOURCE_ATTRIBUTES&lt;/code&gt; environment variable
on the service, that you want to include on the &lt;code&gt;target_info&lt;/code&gt; metric.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;extra_span_resource_labels&lt;/code&gt; is a list of OTEL resource labels, supplied through the &lt;code&gt;OTEL_RESOURCE_ATTRIBUTES&lt;/code&gt; environment variable
on the service, that you want to include on the span metrics. The default list includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;k8s.cluster.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8s.namespace.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;service.version&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deployment.environment&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The default list of &lt;code&gt;extra_span_resource_labels&lt;/code&gt; is set to match the defaults chosen by Application Observability plugin in
Grafana Cloud.&lt;/p&gt;
&lt;h4 id=&#34;network-metrics&#34;&gt;&lt;code&gt;network&lt;/code&gt; metrics&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;network&lt;/code&gt; block configures network metrics options for Beyla. You must append &lt;code&gt;network&lt;/code&gt; to the &lt;code&gt;features&lt;/code&gt; list in the &lt;code&gt;metrics&lt;/code&gt; block to enable network metrics.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agent_ip_iface&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Network interface to get agent IP from.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;external&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agent_ip_type&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Type of IP address to use.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;any&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agent_ip&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Allows overriding the reported &lt;code&gt;beyla.ip&lt;/code&gt; attribute on each metric.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;cache_active_timeout&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Timeout for active flow cache entries.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;5s&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;cache_max_flows&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Maximum number of flows to cache.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;5000&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;cidrs&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of CIDR ranges to monitor.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;direction&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Direction of traffic to monitor.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;both&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;exclude_interfaces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of network interfaces to exclude from monitoring.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[&amp;quot;lo&amp;quot;]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;exclude_protocols&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of protocols to exclude from monitoring.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;interfaces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of network interfaces to monitor.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;protocols&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of protocols to monitor.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;sampling&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Sampling rate for network metrics.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;0&lt;/code&gt; (disabled)&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Linux Kernel feature used to source the network events Beyla reports.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;socket_filter&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;You can set &lt;code&gt;source&lt;/code&gt; to &lt;code&gt;socket_filter&lt;/code&gt; or &lt;code&gt;tc&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;socket_filter&lt;/code&gt; is used as an event source.
Beyla installs an eBPF Linux socket filter to capture the network events.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tc&lt;/code&gt; is used as a kernel module.
Beyla uses the Linux Traffic Control ingress and egress filters to capture the network events, in a direct action mode.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can set &lt;code&gt;agent_ip_iface&lt;/code&gt; to &lt;code&gt;external&lt;/code&gt; (default), &lt;code&gt;local&lt;/code&gt;, or &lt;code&gt;name:&amp;lt;interface name&amp;gt;&lt;/code&gt;, for example &lt;code&gt;name:eth0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can set &lt;code&gt;agent_ip_type&lt;/code&gt; to &lt;code&gt;ipv4&lt;/code&gt;, &lt;code&gt;ipv6&lt;/code&gt;, or &lt;code&gt;any&lt;/code&gt; (default).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;protocols&lt;/code&gt; and &lt;code&gt;exclude_protocols&lt;/code&gt; are defined in the Linux enumeration of &lt;a href=&#34;https://elixir.bootlin.com/linux/v6.8.7/source/include/uapi/linux/in.h#L28&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Standard well-defined IP protocols&lt;/a&gt;, and can be:&lt;/p&gt;
&lt;div class=&#34;column-list&#34;&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;code&gt;AH&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BEETPH&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;COMP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DCCP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;EGP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ENCAP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ESP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ETHERNET&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GRE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ICMP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IDP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IGMP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IPIP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IPV6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;L2TP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MPLS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MTP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PIM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PUP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RAW&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RSVP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SCTP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TCP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UDP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UDPLITE&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;p&gt;You can set &lt;code&gt;direction&lt;/code&gt; to &lt;code&gt;ingress&lt;/code&gt;, &lt;code&gt;egress&lt;/code&gt;, or &lt;code&gt;both&lt;/code&gt; (default).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sampling&lt;/code&gt; defines the rate at which packets should be sampled and sent to the target collector. For example, if you set it to 100, one out of 100 packets, on average, are sent to the target collector.&lt;/p&gt;
&lt;h3 id=&#34;routes&#34;&gt;&lt;code&gt;routes&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;routes&lt;/code&gt; block configures the routes to match HTTP paths into user-provided HTTP routes.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ignore_mode&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The mode to use when ignoring patterns.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ignored_patterns&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of provided URL path patterns to ignore from &lt;code&gt;http.route&lt;/code&gt; trace/metric property.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;patterns&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of provided URL path patterns to set the &lt;code&gt;http.route&lt;/code&gt; trace/metric property.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;unmatched&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Specifies what to do when a trace HTTP path doesn&amp;rsquo;t match any of the &lt;code&gt;patterns&lt;/code&gt; entries.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;heuristic&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;wildcard_char&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Character to use as wildcard in patterns.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;*&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;max_path_segment_cardinality&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;number&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Maximum allowed path segment cardinality (per service) for the heuristic matcher.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;code&gt;ignore_mode&lt;/code&gt; properties are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;all&lt;/code&gt; discards metrics and traces matching the &lt;code&gt;ignored_patterns&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metrics&lt;/code&gt; discards only the metrics that match the &lt;code&gt;ignored_patterns&lt;/code&gt;. No trace events are ignored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;traces&lt;/code&gt; discards only the traces that match the &lt;code&gt;ignored_patterns&lt;/code&gt;. No metric events are ignored.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;patterns&lt;/code&gt; and &lt;code&gt;ignored_patterns&lt;/code&gt; are a list of patterns which a URL path with specific tags which allow for grouping path segments (or ignored them).
The matcher tags can be in the &lt;code&gt;:name&lt;/code&gt; or &lt;code&gt;{name}&lt;/code&gt; format.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;unmatched&lt;/code&gt; properties are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;heuristic&lt;/code&gt; automatically derives the &lt;code&gt;http.route&lt;/code&gt; field property from the path value based on the following rules:
&lt;ul&gt;
&lt;li&gt;Any path components that have numbers or characters outside of the ASCII alphabet (or &lt;code&gt;-&lt;/code&gt; and _), are replaced by an asterisk &lt;code&gt;*&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Any alphabetical components that don&amp;rsquo;t look like words are replaced by an asterisk &lt;code&gt;*&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path&lt;/code&gt; copies the &lt;code&gt;http.route&lt;/code&gt; field property to the path value.


&lt;div class=&#34;admonition admonition-caution&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Caution&lt;/p&gt;&lt;p&gt;This property could lead to a cardinality explosion on the ingester side.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unset&lt;/code&gt; leaves the &lt;code&gt;http.route&lt;/code&gt; property as unset.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wildcard&lt;/code&gt; sets the &lt;code&gt;http.route&lt;/code&gt; field property to a generic asterisk-based &lt;code&gt;/**&lt;/code&gt; value.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;injector&#34;&gt;&lt;code&gt;injector&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;injector&lt;/code&gt; block configures Beyla&amp;rsquo;s SDK injection feature, which automatically instruments services by injecting OpenTelemetry SDKs without requiring eBPF.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;debug&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable debug mode for the SDK injector.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;disable_auto_restart&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Disable automatic restart of instrumented services after SDK injection.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;enabled_sdks&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of SDK languages to enable for injection (e.g. &lt;code&gt;[&amp;quot;java&amp;quot;, &amp;quot;dotnet&amp;quot;]&lt;/code&gt;).&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;host_mount_path&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Path where the host filesystem is mounted inside the injector container.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;host_path_volume&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Path on the host where SDK packages are stored.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;manage_sdk_versions&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Automatically manage and update SDK versions.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;otel_endpoint&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OTLP endpoint URL used by injected SDKs to export telemetry.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;propagators&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;List of context propagation formats (e.g. &lt;code&gt;[&amp;quot;tracecontext&amp;quot;, &amp;quot;baggage&amp;quot;]&lt;/code&gt;).&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;sdk_package_version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Version of the SDK package to inject.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;code&gt;enabled_sdks&lt;/code&gt; accepts the following values: &lt;code&gt;java&lt;/code&gt;, &lt;code&gt;dotnet&lt;/code&gt;, &lt;code&gt;nodejs&lt;/code&gt;, &lt;code&gt;python&lt;/code&gt;, &lt;code&gt;ruby&lt;/code&gt;, &lt;code&gt;php&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;otel_endpoint&lt;/code&gt; configures the OTLP endpoint that injected SDKs use to export telemetry. When set, it overrides the global OTLP endpoint for SDK-injected services.&lt;/p&gt;
&lt;p&gt;It contains the following blocks:&lt;/p&gt;
&lt;h4 id=&#34;webhook&#34;&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;webhook&lt;/code&gt; block configures the Kubernetes admission webhook used to inject SDKs into Pods at creation time.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;cert_path&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Path to the TLS certificate file for the webhook server.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;enable&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable the admission webhook server.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;key_path&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Path to the TLS private key file for the webhook server.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;port&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;number&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Port on which the webhook server listens.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;8443&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;timeout&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Timeout for webhook requests.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;10s&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;export&#34;&gt;&lt;code&gt;export&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;export&lt;/code&gt; block configures which telemetry signals the injected SDK exports.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;logs&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable log export from injected SDKs.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;metrics&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable metric export from injected SDKs.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;traces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Enable trace export from injected SDKs.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;resources&#34;&gt;&lt;code&gt;resources&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;resources&lt;/code&gt; block configures resource attributes attached to telemetry emitted by injected SDKs.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;add_k8s_attributes&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Add Kubernetes UID attributes (e.g. &lt;code&gt;k8s.deployment.uid&lt;/code&gt;) to the resource.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;attributes&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map(string)&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Map of additional resource attributes to add (e.g. &lt;code&gt;{environment = &amp;quot;production&amp;quot;}&lt;/code&gt;).&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;use_labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Use common Kubernetes labels as resource attributes (e.g. &lt;code&gt;app.kubernetes.io/name&lt;/code&gt; as &lt;code&gt;service.name&lt;/code&gt;).&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;exported-fields&#34;&gt;Exported fields&lt;/h2&gt;
&lt;p&gt;The following fields are exported and can be referenced by other components.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;targets&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;list(map(string))&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The targets that can be used to collect metrics of instrumented services with eBPF.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;For example, the &lt;code&gt;targets&lt;/code&gt; can either be passed to a &lt;code&gt;discovery.relabel&lt;/code&gt; component to rewrite the targets&amp;rsquo; label sets or to a &lt;code&gt;prometheus.scrape&lt;/code&gt; component that collects the exposed metrics.&lt;/p&gt;
&lt;p&gt;The exported targets use the configured &lt;a href=&#34;../../../../get-started/component_controller/#in-memory-traffic&#34;&gt;in-memory traffic&lt;/a&gt; address specified by the &lt;a href=&#34;../../../cli/run/&#34;&gt;run command&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;component-health&#34;&gt;Component health&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;beyla.ebpf&lt;/code&gt; is only reported as unhealthy if given an invalid configuration.&lt;/p&gt;
&lt;h2 id=&#34;debug-information&#34;&gt;Debug information&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;beyla.ebpf&lt;/code&gt; doesn&amp;rsquo;t expose any component-specific debug information.&lt;/p&gt;
&lt;h2 id=&#34;examples-1&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following examples show you how to collect metrics and traces from &lt;code&gt;beyla.ebpf&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;metrics-1&#34;&gt;Metrics&lt;/h3&gt;
&lt;p&gt;This example uses a &lt;a href=&#34;../../prometheus/prometheus.scrape/&#34;&gt;&lt;code&gt;prometheus.scrape&lt;/code&gt; component&lt;/a&gt; to collect metrics from &lt;code&gt;beyla.ebpf&lt;/code&gt; of the specified port:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  discovery {
    instrument {
      open_ports = &amp;lt;OPEN_PORT&amp;gt;
    }
  }

  metrics {
    features = [
     &amp;#34;application&amp;#34;, 
    ]
  }
}

prometheus.scrape &amp;#34;beyla&amp;#34; {
  targets = beyla.ebpf.default.targets
  honor_labels = true // required to keep job and instance labels
  forward_to = [prometheus.remote_write.demo.receiver]
}

prometheus.remote_write &amp;#34;demo&amp;#34; {
  endpoint {
    url = &amp;lt;PROMETHEUS_REMOTE_WRITE_URL&amp;gt;

    basic_auth {
      username = &amp;lt;USERNAME&amp;gt;
      password = &amp;lt;PASSWORD&amp;gt;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;kubernetes&#34;&gt;Kubernetes&lt;/h4&gt;
&lt;p&gt;This example gets metrics from &lt;code&gt;beyla.ebpf&lt;/code&gt; for the specified namespace and Pods running in a Kubernetes cluster:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  discovery {
    instrument {
     kubernetes {
      namespace = &amp;#34;&amp;lt;NAMESPACE&amp;gt;&amp;#34;
      pod_name = &amp;#34;&amp;lt;POD_NAME&amp;gt;&amp;#34;
     }
    }
  }
  metrics {
    features = [
     &amp;#34;application&amp;#34;, 
    ]
  }
}

prometheus.scrape &amp;#34;beyla&amp;#34; {
  targets = beyla.ebpf.default.targets
  honor_labels = true // required to keep job and instance labels
  forward_to = [prometheus.remote_write.demo.receiver]
}

prometheus.remote_write &amp;#34;demo&amp;#34; {
  endpoint {
    url = &amp;lt;PROMETHEUS_REMOTE_WRITE_URL&amp;gt;

    basic_auth {
      username = &amp;lt;USERNAME&amp;gt;
      password = &amp;lt;PASSWORD&amp;gt;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;OPEN_PORT&amp;gt;&lt;/code&gt;&lt;/em&gt;: The port of the running service for Beyla automatically instrumented with eBPF.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;NAMESPACE&amp;gt;&lt;/code&gt;&lt;/em&gt;: The namespaces of the applications running in a Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;POD_NAME&amp;gt;&lt;/code&gt;&lt;/em&gt;: The name of the Pods running in a Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;PROMETHEUS_REMOTE_WRITE_URL&amp;gt;&lt;/code&gt;&lt;/em&gt;: The URL of the Prometheus remote_write-compatible server to send metrics to.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;USERNAME&amp;gt;&lt;/code&gt;&lt;/em&gt;: The username to use for authentication to the &lt;code&gt;remote_write&lt;/code&gt; API.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;PASSWORD&amp;gt;&lt;/code&gt;&lt;/em&gt;: The password to use for authentication to the &lt;code&gt;remote_write&lt;/code&gt; API.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;traces-1&#34;&gt;Traces&lt;/h3&gt;
&lt;p&gt;This example gets traces from &lt;code&gt;beyla.ebpf&lt;/code&gt; and forwards them to &lt;code&gt;otlp&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Alloy&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-alloy&#34;&gt;beyla.ebpf &amp;#34;default&amp;#34; {
  discovery {
    instrument {
      open_ports = &amp;lt;OPEN_PORT&amp;gt;
    }
  }
  output {
    traces = [otelcol.processor.batch.default.input]
  }
}

otelcol.processor.batch &amp;#34;default&amp;#34; {
  output {
    traces  = [otelcol.exporter.otlphttp.default.input]
  }
}

otelcol.exporter.otlphttp &amp;#34;default&amp;#34; {
  client {
    endpoint = sys.env(&amp;#34;&amp;lt;OTLP_ENDPOINT&amp;gt;&amp;#34;)
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;OPEN_PORT&amp;gt;&lt;/code&gt;&lt;/em&gt;: The port of the running service for Beyla automatically instrumented with eBPF.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;OTLP_ENDPOINT&amp;gt;&lt;/code&gt;&lt;/em&gt;: The endpoint of the OpenTelemetry Collector to send traces to.&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- START GENERATED COMPATIBLE COMPONENTS --&gt;
&lt;h2 id=&#34;compatible-components&#34;&gt;Compatible components&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;beyla.ebpf&lt;/code&gt; can accept arguments from the following components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Components that export &lt;a href=&#34;../../../compatibility/#opentelemetry-otelcolconsumer-exporters&#34;&gt;OpenTelemetry &lt;code&gt;otelcol.Consumer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;beyla.ebpf&lt;/code&gt; has exports that can be consumed by the following components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Components that consume &lt;a href=&#34;../../../compatibility/#targets-consumers&#34;&gt;Targets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Connecting some components may not be sensible or components may require further configuration to make the connection work correctly.
Refer to the linked documentation for more details.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;!-- END GENERATED COMPATIBLE COMPONENTS --&gt;
]]></content><description>&lt;h1 id="beylaebpf">&lt;code>beyla.ebpf&lt;/code>&lt;/h1>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>The &lt;code>beyla.ebpf&lt;/code> component uses Grafana Beyla version v3.6.0.&lt;/p>&lt;/blockquote>&lt;/div>
&lt;p>The &lt;code>beyla.ebpf&lt;/code> component is a wrapper for &lt;a href="https://github.com/grafana/beyla" target="_blank" rel="noopener noreferrer">Grafana Beyla&lt;/a> which uses &lt;a href="https://ebpf.io/" target="_blank" rel="noopener noreferrer">eBPF&lt;/a> to automatically inspect application executables and the OS networking layer, and capture trace spans related to web transactions and Rate Errors Duration (RED) metrics for Linux HTTP/S and gRPC services.
You can configure the component to collect telemetry data from a specific port or executable path, and other criteria from Kubernetes metadata.
The component exposes metrics that can be collected by a Prometheus scrape component, and traces that can be forwarded to an OTel exporter component.&lt;/p></description></item></channel></rss>