|
| 1 | +--- |
| 2 | +title: Baggage |
| 3 | +weight: 4 |
| 4 | +description: Información contextual que se pasa entre señales. |
| 5 | +default_lang_commit: 7c0e4db0b6c39b0ca0e7efb17df5610d1b77b8a3 |
| 6 | +cSpell:ignore: embedidas |
| 7 | +--- |
| 8 | + |
| 9 | +En OpenTelemetry, el `Baggage` es información contextual que viaja con el |
| 10 | +contexto. El `Baggage` es un almacén de pares clave-valor, lo que significa que |
| 11 | +te permite [propagar](../../context-propagation/#propagation) cualquier dato que |
| 12 | +desees junto con el [contexto](../../context-propagation/#context). |
| 13 | + |
| 14 | +El `Baggage` te permite pasar datos a través de servicios y procesos, |
| 15 | +permitiendo que se puedan añadir a [trazas](../traces/), [métricas](../metrics/) |
| 16 | +o [logs](../logs/) en esos servicios. |
| 17 | + |
| 18 | +## Ejemplo {#example} |
| 19 | + |
| 20 | +El `Baggage` se usa a menudo en el trazado distribuido para propagar datos |
| 21 | +adicionales entre servicios. |
| 22 | + |
| 23 | +Por ejemplo, imagina que tienes un `clientId` al inicio de una petición, pero te |
| 24 | +gustaría que ese ID estuviera disponible en todos los spans de una traza, en |
| 25 | +algunas métricas en otro servicio y en algunos logs a lo largo del camino. |
| 26 | +Debido a que la traza puede abarcar múltiples servicios, necesitas alguna forma |
| 27 | +de propagar esos datos sin necesidad de copiar el `clientId` en diversos lugares |
| 28 | +de tu código. |
| 29 | + |
| 30 | +Al usar la [propagación de contexto](../traces/#context-propagation) para pasar |
| 31 | +el `Baggage` a través de estos servicios, el `clientId` queda disponible para |
| 32 | +que se añada a cualquier span, métrica o log adicionales. Además, las |
| 33 | +instrumentaciones se encargan de propagar automáticamente el `Baggage` por ti. |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | +## ¿Para qué debes usar el `Baggage` de OTel? {#what-should-otel-baggage-be-used-for} |
| 38 | + |
| 39 | +El `Baggage` se usa típicamente para incluir información que sólo está |
| 40 | +disponible al inicio de una solicitud en los servicios posteriores. Por ejemplo, |
| 41 | +se pueden incluir la Identificación de la Cuenta, el ID del Usuario, el ID del |
| 42 | +Producto o la IP de origen. |
| 43 | + |
| 44 | +Propagar esta información usando `Baggage` permite un análisis más profundo de |
| 45 | +la telemetría en un backend. Por ejemplo, si incluyes información como un ID de |
| 46 | +Usuario en un span que rastrea una llamada a una base de datos, puedes responder |
| 47 | +con mucha más facilidad a preguntas como: “¿qué usuarios están experimentando |
| 48 | +más lentitud en las llamadas a la base de datos?”. También puedes registrar |
| 49 | +información sobre una operación posterior adjuntando ese mismo ID de Usuario a |
| 50 | +los logs. |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | +## Consideraciones de seguridad del `Baggage` {#baggage-security-considerations} |
| 55 | + |
| 56 | +Los elementos sensibles del `Baggage` pueden compartirse con recursos no |
| 57 | +deseados, como APIs de terceros. Esto se debe a que la instrumentación |
| 58 | +automática incluye el `Baggage` en la mayoría de las solicitudes de red de tu |
| 59 | +servicio. Específicamente, el `Baggage` y otras partes del contexto de traza se |
| 60 | +envían en encabezados HTTP, haciéndolos visibles para cualquiera que esté |
| 61 | +inspeccionando tu tráfico de red. Si el tráfico está restringido dentro de tu |
| 62 | +red, este riesgo podría no aplicarse, pero ten en cuenta que los servicios |
| 63 | +posteriores podrían propagar el `Baggage` fuera de tu red. |
| 64 | + |
| 65 | +Además, no hay verificaciones de integridad embedidas que permitan asegurar que |
| 66 | +los elementos del `Baggage` son tuyos, así que ten precaución al leerlos. |
| 67 | + |
| 68 | +## El `Baggage` no es equivalente a los atributos {#baggage-is-not-the-same-as-attributes} |
| 69 | + |
| 70 | +Es importante notar que el `Baggage` es un almacén separado de pares clave-valor |
| 71 | +y, si no se añade explícitamente, no se asocia junto con los atributos a spans, |
| 72 | +métricas o logs. |
| 73 | + |
| 74 | +Para añadir `Baggage` a los atributos, debes leer explícitamente los datos del |
| 75 | +`Baggage` y añadirlos como atributos a tus spans, métricas o logs. |
| 76 | + |
| 77 | +Dado que uno de los casos de uso comunes del `Baggage` es añadir datos a los |
| 78 | +[Atributos de Span](../traces/#attributes) a lo largo de toda una traza, varios |
| 79 | +lenguajes tienen `Baggage Span Processors` que añaden datos del `Baggage` como |
| 80 | +atributos al crear el span. |
| 81 | + |
| 82 | +> Para más información, consulta la [especificación del |
| 83 | +> `Baggage`][baggage specification]. |
| 84 | +
|
| 85 | +[baggage specification]: /docs/specs/otel/overview/#baggage-signal |
0 commit comments