<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=Elixir_OpenTelemetry</id>
	<title>Elixir OpenTelemetry - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=Elixir_OpenTelemetry"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=Elixir_OpenTelemetry&amp;action=history"/>
	<updated>2026-05-02T12:06:00Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=Elixir_OpenTelemetry&amp;diff=5863&amp;oldid=prev</id>
		<title>IKuznetsov: /* Предпосылки */</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=Elixir_OpenTelemetry&amp;diff=5863&amp;oldid=prev"/>
		<updated>2025-10-15T15:56:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Предпосылки&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 15:56, 15 октября 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Строка 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Предпосылки &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Предустановка &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Ключ-АСТРОМ версии '''1.222+'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Ключ-АСТРОМ версии '''1.222+'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=Elixir_OpenTelemetry&amp;diff=5861&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «В этом пошаговом руководстве показано, как добавить возможность наблюдения в ваше прило...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=Elixir_OpenTelemetry&amp;diff=5861&amp;oldid=prev"/>
		<updated>2025-10-15T15:30:05Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «В этом пошаговом руководстве показано, как добавить возможность наблюдения в ваше прило...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;В этом пошаговом руководстве показано, как добавить возможность наблюдения в ваше приложение '''Elixir''' с помощью библиотек и инструментов '''OpenTelemetry Elixir'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Особенность&lt;br /&gt;
!Поддержка&lt;br /&gt;
|-&lt;br /&gt;
|Автоматические инструменты&lt;br /&gt;
|Нет&lt;br /&gt;
|-&lt;br /&gt;
|Трассировки&lt;br /&gt;
|Да&lt;br /&gt;
|-&lt;br /&gt;
|Метрики&lt;br /&gt;
|Нет&lt;br /&gt;
|-&lt;br /&gt;
|Логи&lt;br /&gt;
|Нет&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Предпосылки ==&lt;br /&gt;
&lt;br /&gt;
* Ключ-АСТРОМ версии '''1.222+'''&lt;br /&gt;
* Для трассировки включен контекст трассировки '''W3C'''.&lt;br /&gt;
*# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента'''.&lt;br /&gt;
*# Включите опцию '''Отправлять HTTP-заголовки контекста трассировки''' '''W3C''' .&lt;br /&gt;
&lt;br /&gt;
== Получите данные для доступа к Ключ-АСТРОМ ==&lt;br /&gt;
&lt;br /&gt;
=== Определение базового URL API ===&lt;br /&gt;
Подробную информацию о сборке базового URL-адреса конечной точки '''OTLP''' см. в разделе [[Экспорт с помощью OTLP]]. '''URL-адрес''' должен заканчиваться на &amp;lt;code&amp;gt;/api/v2/otlp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Получение токена доступа API ===&lt;br /&gt;
Токен доступа для сбора трассировок, логов и метрик можно создать в разделе [[Токен доступа|Токены доступа]].&lt;br /&gt;
&lt;br /&gt;
Экспорт с помощью '''OTLP''' содержит более подробную информацию о формате и необходимых областях доступа.&lt;br /&gt;
&lt;br /&gt;
== Настройка OpenTelemetry ==&lt;br /&gt;
1. Добавьте текущие версии следующих [https://hex.pm/packages?search=opentelemetry&amp;amp;sort=recent_downloads зависимостей]﻿ в &amp;lt;code&amp;gt;mix.exs&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|defp deps do&lt;br /&gt;
&lt;br /&gt;
  [&lt;br /&gt;
&lt;br /&gt;
    # Add any additional dependancies here&lt;br /&gt;
&lt;br /&gt;
    {:httpoison, version: :latest},&lt;br /&gt;
&lt;br /&gt;
    {:plug_cowboy, version: :latest},&lt;br /&gt;
&lt;br /&gt;
    {:jason, version: :latest},&lt;br /&gt;
&lt;br /&gt;
    {:plug, version: :latest},&lt;br /&gt;
&lt;br /&gt;
    {:opentelemetry_exporter, version: :latest},&lt;br /&gt;
&lt;br /&gt;
    {:opentelemetry_api, version: :latest},&lt;br /&gt;
&lt;br /&gt;
    {:opentelemetry, version: :latest}&lt;br /&gt;
&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
|}&lt;br /&gt;
2. Добавьте раздел &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; в определение приложения в &amp;lt;code&amp;gt;mix.exs&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|releases: [&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;project_name&amp;gt;: [&lt;br /&gt;
&lt;br /&gt;
    version: &amp;quot;&amp;lt;project_version&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    applications: [opentelemetry_exporter: :permanent, opentelemetry: :temporary]&lt;br /&gt;
&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|}&lt;br /&gt;
3. Включите зависимости распространения контекста с помощью следующей строки в &amp;lt;code&amp;gt;runtime.exs&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|text_map_propagators: [:baggage, :trace_context],&lt;br /&gt;
|}&lt;br /&gt;
4. Добавьте следующую конфигурацию &amp;lt;code&amp;gt;config/runtime.exs&amp;lt;/code&amp;gt; и замените &amp;lt;code&amp;gt;[URL]&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;[TOKEN]&amp;lt;/code&amp;gt; соответствующими значениями для URL-адреса Ключ-АСТРОМ и токена доступа.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|import Config&lt;br /&gt;
&lt;br /&gt;
config :opentelemetry,&lt;br /&gt;
&lt;br /&gt;
  resource: [service: %{name: &amp;quot;elixir-quickstart&amp;quot;, version: &amp;quot;1.0.1&amp;quot;}], #TODO Replace with the name and version of your application&lt;br /&gt;
&lt;br /&gt;
  span_processor: :batch,&lt;br /&gt;
&lt;br /&gt;
  traces_exporter: :otlp,&lt;br /&gt;
&lt;br /&gt;
  # Add your text map propagator from previous step here&lt;br /&gt;
&lt;br /&gt;
  resource_detectors: [&lt;br /&gt;
&lt;br /&gt;
    :otel_resource_app_env,&lt;br /&gt;
&lt;br /&gt;
    :otel_resource_env_var,&lt;br /&gt;
&lt;br /&gt;
    ExtraMetadata&lt;br /&gt;
&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
config :opentelemetry_exporter,&lt;br /&gt;
&lt;br /&gt;
  otlp_protocol: :http_protobuf,&lt;br /&gt;
&lt;br /&gt;
  otlp_traces_endpoint: &amp;quot;[URL]&amp;quot;, #TODO Replace [URL] to your SaaS/Managed URL as mentioned in the next step&lt;br /&gt;
&lt;br /&gt;
  otlp_traces_headers: [{&amp;quot;Authorization&amp;quot;, &amp;quot;Api-Token [TOKEN]&amp;quot;}] #TODO Replace [TOKEN] with your API Token as mentioned in the next step&lt;br /&gt;
|}&lt;br /&gt;
5. Сохраните следующий код в &amp;lt;code&amp;gt;lib/extra_metadata.ex&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|defmodule ExtraMetadata do&lt;br /&gt;
&lt;br /&gt;
  @behaviour :otel_resource_detector&lt;br /&gt;
&lt;br /&gt;
  def get_resource(_) do&lt;br /&gt;
&lt;br /&gt;
    metadata = read_file(&amp;quot;/var/lib/astromkey/enrichment/dt_metadata.properties&amp;quot;) |&amp;gt; unwrap_lines&lt;br /&gt;
&lt;br /&gt;
    file_path = read_file(&amp;quot;dt_metadata_e617c525669e072eebe3d0f08212e8f2.properties&amp;quot;) |&amp;gt; unwrap_lines&lt;br /&gt;
&lt;br /&gt;
    metadata2 = read_file(file_path) |&amp;gt; unwrap_lines&lt;br /&gt;
&lt;br /&gt;
    attributes = get_attributes(Enum.concat(metadata, metadata2))&lt;br /&gt;
&lt;br /&gt;
    metadata3 = read_file(&amp;quot;/var/lib/astromkey/enrichment/dt_host_metadata.properties&amp;quot;) |&amp;gt; unwrap_lines&lt;br /&gt;
&lt;br /&gt;
    attributes = get_attributes(Enum.concat(metadata, metadata2) ++ metadata3)&lt;br /&gt;
&lt;br /&gt;
    :otel_resource.create(attributes)&lt;br /&gt;
&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  defp unwrap_lines({:ok, metadata}), do: metadata&lt;br /&gt;
&lt;br /&gt;
  defp unwrap_lines({:error, _}), do: []&lt;br /&gt;
&lt;br /&gt;
  defp read_file(file_name) do&lt;br /&gt;
&lt;br /&gt;
    try do&lt;br /&gt;
&lt;br /&gt;
      {:ok, String.split(File.read!(file_name), &amp;quot;\n&amp;quot;)}&lt;br /&gt;
&lt;br /&gt;
    rescue&lt;br /&gt;
&lt;br /&gt;
      File.Error -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        {:error, &amp;quot;File does not exist, safe to continue&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  defp get_attributes(metadata) do&lt;br /&gt;
&lt;br /&gt;
    Enum.map(metadata, fn(line) -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      if String.length(line) &amp;gt; 0 do&lt;br /&gt;
&lt;br /&gt;
        [key, value] = String.split(line, &amp;quot;=&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        {key, value}&lt;br /&gt;
&lt;br /&gt;
      else&lt;br /&gt;
&lt;br /&gt;
        {:error, &amp;quot;EOF&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
    end)&lt;br /&gt;
&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;u&amp;gt;Расширение данных Ключ-АСТРОМ&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Операции чтения файлов, анализирующие файлы &amp;lt;code&amp;gt;dt_metadata&amp;lt;/code&amp;gt; в примере кода, пытаются прочитать файлы данных ЕдиногоАгента, чтобы обогатить запрос '''OTLP''' и гарантировать, что вся соответствующая информация о топологии доступна в Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
== Инструментирование своего приложения ==&lt;br /&gt;
&lt;br /&gt;
=== Добавление трассировки ===&lt;br /&gt;
Спектры запускаются с помощью макроса и принимают необязательный список атрибутов, а также блок кода для этого span. Спектр автоматически завершается после возврата управления из блока кода &amp;lt;code&amp;gt;[https://hexdocs.pm/opentelemetry_api/OpenTelemetry.Tracer.html#with_span/3 with_span]&amp;lt;/code&amp;gt;.﻿&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|require OpenTelemetry.Tracer, as: Tracer&lt;br /&gt;
&lt;br /&gt;
def hello do&lt;br /&gt;
&lt;br /&gt;
  Tracer.with_span &amp;quot;my-span&amp;quot;, %{attributes: [{&amp;lt;&amp;lt;&amp;quot;my-key-1&amp;quot;&amp;gt;&amp;gt;, &amp;lt;&amp;lt;&amp;quot;my-value-1&amp;quot;&amp;gt;&amp;gt;}]} do #TODO add attributes at span creation&lt;br /&gt;
&lt;br /&gt;
    Tracer.set_attributes([{&amp;quot;another-key-1&amp;quot;, &amp;quot;another-value-1&amp;quot;}]) #TODO add attributes after span creation&lt;br /&gt;
&lt;br /&gt;
    # Your code goes here&lt;br /&gt;
&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Сбор метрики ===&lt;br /&gt;
Примера пока нет, поскольку '''OpenTelemetry''' для '''Elixir''' пока не имеет стабильной поддержки метрик.&lt;br /&gt;
&lt;br /&gt;
=== Подключение логов ===&lt;br /&gt;
Примера пока нет, поскольку '''OpenTelemetry''' для '''Elixir''' пока не имеет стабильной поддержки логов.&lt;br /&gt;
&lt;br /&gt;
В зависимости от статуса '''OpenTelemetry''' '''SDK''' предварительная версия может уже разрешать прием ваших логов.&lt;br /&gt;
&lt;br /&gt;
=== Обеспечение распространения контекста (необязательно) ===&lt;br /&gt;
Распространение контекста особенно важно, когда задействованы сетевые вызовы (например, '''REST''').&lt;br /&gt;
&lt;br /&gt;
==== Извлечение контекста при получении запроса ====&lt;br /&gt;
Чтобы извлечь информацию о существующем контексте, мы передаем заголовки функции &amp;lt;code&amp;gt;otel_propagator_text_map.extract&amp;lt;/code&amp;gt;, которая анализирует предоставленную заголовками контекстную информацию и устанавливает текущий контекст на ее основе.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|# Extract headers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;otel_propagator_text_map.extract(conn.req_headers)&lt;br /&gt;
&lt;br /&gt;
span_ctx = OpenTelemetry.Tracer.start_span(&amp;lt;&amp;lt;&amp;quot;span-name&amp;quot;&amp;gt;&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
ctx = OpenTelemetry.Ctx.get_current()&lt;br /&gt;
&lt;br /&gt;
task = Task.async(fn -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    OpenTelemetry.Ctx.attach(ctx)&lt;br /&gt;
&lt;br /&gt;
    OpenTelemetry.Tracer.set_current_span(span_ctx)&lt;br /&gt;
&lt;br /&gt;
    # Do work here&lt;br /&gt;
&lt;br /&gt;
    OpenTelemetry.Tracer.end_span(span_ctx)&lt;br /&gt;
&lt;br /&gt;
end)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Внедрение контекста при отправке запросов ====&lt;br /&gt;
В следующем примере HTTP-заголовки &amp;lt;code&amp;gt;otel_propagator_text_map:inject&amp;lt;/code&amp;gt; (необходимые для распространения контекста) предоставляются в &amp;lt;code&amp;gt;merged_headers&amp;lt;/code&amp;gt;. Затем заголовки передаются в &amp;lt;code&amp;gt;HTTPoison.get&amp;lt;/code&amp;gt;, что позволяет принимающей конечной точке продолжить трассировку с предоставленной информацией.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|OpenTelemetry.Tracer.with_span &amp;quot;span-name&amp;quot; do&lt;br /&gt;
&lt;br /&gt;
    # ...&lt;br /&gt;
&lt;br /&gt;
    # do work here&lt;br /&gt;
&lt;br /&gt;
    # ...&lt;br /&gt;
&lt;br /&gt;
    headers = [{&amp;quot;content-type&amp;quot;, &amp;quot;application/json&amp;quot;}, {&amp;quot;X-Custom-Header&amp;quot;, &amp;quot;some-value&amp;quot;}]&lt;br /&gt;
&lt;br /&gt;
    merged_headers = :otel_propagator_text_map.inject(headers)&lt;br /&gt;
&lt;br /&gt;
    case HTTPoison.get(URL, merged_headers, []) do&lt;br /&gt;
&lt;br /&gt;
        {:ok, res} -&amp;gt; IO.puts(&amp;quot;Response: #{inspect(res)}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        {:error, _} -&amp;gt; raise &amp;quot;request failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Настройте сбор данных в соответствии с требованиями конфиденциальности (необязательно) ==&lt;br /&gt;
Хотя Ключ-АСТРОМ автоматически собирает все атрибуты '''OpenTelemetry''', в веб-интерфейсе Ключ-АСТРОМ сохраняются и отображаются только значения атрибутов, указанные в списке разрешенных. Это предотвращает случайное сохранение персональных данных, позволяя вам соблюдать требования к конфиденциальности и контролировать объем хранимых данных мониторинга.&lt;br /&gt;
&lt;br /&gt;
Чтобы просматривать пользовательские атрибуты, необходимо сначала разрешить их использование в веб-интерфейсе Ключ-АСТРОМ. &lt;br /&gt;
&lt;br /&gt;
== Проверка загрузки данных в Ключ-АСТРОМ ==&lt;br /&gt;
После завершения инструментирования вашего приложения выполните несколько тестовых действий для создания и отправки демонстрационных трассировок, метрик и логов, а также проверьте, что они были правильно загружены в Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
Чтобы сделать это для трассировок, перейдите в раздел '''Трассировки''' и выберите вкладку '''Распределенные трассировки'''. Если вы используете ЕдиныйАгент, выберите '''PurePaths''' .&lt;br /&gt;
&lt;br /&gt;
Для просмотра метрик и логов перейдите в раздел '''Метрики''' или '''Логов''' или '''Логи и события'''.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>