Skip to content

Commit 7250159

Browse files
committed
Re-generate with GPT-Astra model
1 parent 61068e6 commit 7250159

1 file changed

Lines changed: 48 additions & 48 deletions

File tree

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# OpenTelemetry { #opentelemetry }
22

3-
Cuando tu API está ejecutándose, puede que quieras saber cuánto tráfico recibe, qué requests son lentas y cuándo ocurren errores.
3+
Cuando tu API está en funcionamiento, puede que quieras saber cuánto tráfico recibe, qué requests son lentas y cuándo se producen errores.
44

5-
La **telemetría** son datos sobre el comportamiento de tu aplicación que te ayudan a responder estas preguntas. Los tipos comunes incluyen:
5+
La **telemetría** son datos sobre el comportamiento de tu aplicación que te ayudan a responder estas preguntas. Algunos tipos comunes son:
66

7-
- **Métricas**: mediciones que puedes resumir a lo largo del tiempo, como los tiempos de response y el número de requests que se están manejando.
8-
- **Trazas**: registros de requests individuales y las operaciones realizadas para manejarlas. Cada operación cronometrada se llama un **span**.
9-
- **Logs**: registros de eventos con timestamp, como el inicio de una aplicación o el fallo de una operación.
7+
- **Métricas**: mediciones que puedes resumir a lo largo del tiempo, como los tiempos de response y el número de requests que se están procesando.
8+
- **Trazas**: registros de requests individuales y de las operaciones realizadas para procesarlas. Cada operación cronometrada se llama **span**.
9+
- **Logs**: registros de eventos con marcas de tiempo, como el inicio de una aplicación o el fallo de una operación.
1010

11-
[**OpenTelemetry**](https://opentelemetry.io/) es un conjunto de estándares y herramientas para recopilar telemetría y enviarla a un servicio de monitoreo, donde puedes explorarla en dashboards.
11+
[**OpenTelemetry**](https://opentelemetry.io/) es un conjunto de estándares y herramientas para recopilar telemetría y enviarla a un servicio de monitorización, donde puedes explorarla en paneles.
1212

13-
**FastAPI proporciona soporte para OpenTelemetry por defecto** para trazas, métricas y logs de requests HTTP. Las conexiones WebSocket también proporcionan trazas y logs. Para ver esos datos, configura un servicio de monitoreo para recibirlos.
13+
**FastAPI proporciona soporte para OpenTelemetry por defecto** para trazas, métricas y logs de requests HTTP. Las conexiones WebSocket también proporcionan trazas y logs. Para ver esos datos, configura un servicio de monitorización que los reciba.
1414

1515
## Instala FastAPI { #install-fastapi }
1616

@@ -25,40 +25,40 @@ $ uv add "fastapi[standard]"
2525

2626
</div>
2727

28-
## Crea la app { #create-the-app }
28+
## Crea la aplicación { #create-the-app }
2929

3030
Crea un archivo `main.py`:
3131

3232
{* ../../docs_src/opentelemetry/tutorial001_py310.py *}
3333

34-
Observa que todo funciona por defecto, no necesitas escribir ningún código personalizado para que la telemetría funcione.
34+
Ten en cuenta que todo funciona por defecto, no necesitas escribir ningún código personalizado para que funcione la telemetría.
3535

3636
## FastAPI Cloud { #fastapi-cloud }
3737

38-
Cuando haces deploy en [FastAPI Cloud](https://fastapicloud.com) con `fastapi[standard]`, las métricas funcionan automáticamente. No tienes que configurar nada más.
38+
Cuando despliegas en [FastAPI Cloud](https://fastapicloud.com) con `fastapi[standard]`, las métricas funcionan automáticamente. No tienes que configurar nada más.
3939

40-
En planes Pro, puedes ver conteos de requests, tasas de error y tiempos de response en el [dashboard de métricas](https://fastapicloud.com/docs/monitoring-and-performance/metrics/).
40+
En los planes Pro, puedes ver el número de requests, las tasas de error y los tiempos de response en el [panel de métricas](https://fastapicloud.com/docs/monitoring-and-performance/metrics/).
4141

42-
<img src="/img/tutorial/opentelemetry/image01.png" alt="Dashboard de métricas de FastAPI Cloud Pro con datos de ejemplo">
42+
<img src="/img/tutorial/opentelemetry/image01.png" alt="Panel de métricas de FastAPI Cloud Pro con datos de ejemplo">
4343

44-
## Otros servicios de monitoreo { #other-monitoring-services }
44+
## Otros servicios de monitorización { #other-monitoring-services }
4545

46-
Para enviar telemetría a otro servicio de monitoreo, configura un endpoint que acepte **OTLP**, el protocolo de OpenTelemetry para enviar telemetría. Usa el endpoint base HTTP/protobuf del servicio.
46+
Para enviar telemetría a otro servicio de monitorización, configura un endpoint que acepte **OTLP**, el protocolo de OpenTelemetry para enviar telemetría. Usa el endpoint base HTTP/protobuf del servicio.
4747

48-
Define estas variables de entorno, reemplazando la URL de ejemplo por tu endpoint:
48+
Establece estas variables de entorno, reemplazando la URL de ejemplo por tu endpoint:
4949

5050
```bash
5151
export OTEL_SERVICE_NAME=my-api
5252
export OTEL_EXPORTER_OTLP_ENDPOINT=https://collector.example.com
5353
```
5454

55-
`OTEL_SERVICE_NAME` identifica tu app en el servicio de monitoreo. El endpoint es la URL base para recibir datos. Las trazas se envían a `/v1/traces`, las métricas a `/v1/metrics` y los logs a `/v1/logs` bajo esa URL.
55+
`OTEL_SERVICE_NAME` identifica tu aplicación en el servicio de monitorización. El endpoint es la URL base para recibir datos. Las trazas se envían a `/v1/traces`, las métricas a `/v1/metrics` y los logs a `/v1/logs` bajo esa URL.
5656

57-
Si tu servicio requiere autenticación, define `OTEL_EXPORTER_OTLP_HEADERS` con los headers que especifique, por ejemplo `api-key=YOUR_API_KEY`.
57+
Si tu servicio requiere autenticación, establece `OTEL_EXPORTER_OTLP_HEADERS` con los headers que especifique, por ejemplo `api-key=YOUR_API_KEY`.
5858

59-
## Ejecuta la app { #run-the-app }
59+
## Ejecuta la aplicación { #run-the-app }
6060

61-
Inicia la app en la misma terminal:
61+
Inicia la aplicación en la misma terminal:
6262

6363
<div class="termy">
6464

@@ -75,77 +75,77 @@ $ curl http://127.0.0.1:8000/items/1
7575
{"item_id":1}
7676
```
7777

78-
Abre tu servicio de monitoreo y busca `my-api`. Después de la siguiente exportación, puedes ver una traza con un span `GET /items/{item_id}`, junto con métricas para conteos de requests, duración de response y requests activas.
78+
Abre tu servicio de monitorización y busca `my-api`. Después de la siguiente exportación, podrás ver una traza con un span `GET /items/{item_id}`, junto con métricas del número de requests, la duración de las responses y las requests activas.
7979

8080
## Personaliza la telemetría { #customize-telemetry }
8181

82-
### Configura providers y exporters { #configure-providers-and-exporters }
82+
### Configura proveedores y exportadores { #configure-providers-and-exporters }
8383

84-
Un **provider** suministra los objetos que registran trazas, métricas o logs. Su configuración controla cómo se procesan y exportan esos datos.
84+
Un **proveedor** proporciona los objetos que registran trazas, métricas o logs. Su configuración controla cómo se procesan y exportan esos datos.
8585

86-
Los paquetes de telemetría pueden configurar los providers globales de OpenTelemetry. Configura el paquete antes de que la app inicie, y FastAPI usa esos providers automáticamente.
86+
Los paquetes de telemetría pueden configurar los proveedores globales de OpenTelemetry. Configura el paquete antes de que se inicie la aplicación y FastAPI usará esos proveedores automáticamente.
8787

88-
Cuando se define un endpoint OTLP en el entorno, FastAPI añade un exporter para ese destino a cada provider habilitado. Los exporters existentes continúan enviando datos a sus destinos.
88+
Cuando se establece un endpoint OTLP en el entorno, FastAPI añade un exportador para ese destino a cada proveedor habilitado. Los exportadores existentes siguen enviando datos a sus destinos.
8989

90-
Configura cada destino una vez. Si otro paquete ya maneja el destino del entorno, deshabilita su exportación de entorno o desactiva la configuración automática de FastAPI:
90+
Configura cada destino una sola vez. Si otro paquete ya gestiona el destino del entorno, desactiva su exportación al destino del entorno o desactiva la configuración automática de FastAPI:
9191

9292
```python
9393
app = FastAPI(telemetry={"auto_configure": False})
9494
```
9595

96-
También puedes pasar un provider directamente en el diccionario `telemetry`. Por ejemplo, este provider usa el console exporter de OpenTelemetry para imprimir spans de requests en tu terminal:
96+
También puedes pasar un proveedor directamente en el diccionario `telemetry`. Por ejemplo, este proveedor usa el exportador de consola de OpenTelemetry para imprimir los spans de las requests en tu terminal:
9797

9898
{* ../../docs_src/opentelemetry/tutorial002_py310.py hl[2:8] *}
9999

100-
El **exporter** envía los spans a su destino. `BatchSpanProcessor` agrupa spans y los envía en segundo plano. Reemplaza el console exporter por uno proporcionado por tu paquete de monitoreo para usar su destino. Consulta la [guía de instrumentación de Python de OpenTelemetry](https://opentelemetry.io/docs/languages/python/instrumentation/) para más opciones de configuración.
100+
El **exportador** envía los spans a su destino. `BatchSpanProcessor` agrupa los spans y los envía en segundo plano. Reemplaza el exportador de consola por uno proporcionado por tu paquete de monitorización para usar su destino. Consulta la [guía de instrumentación de Python de OpenTelemetry](https://opentelemetry.io/docs/languages/python/instrumentation/) para ver más opciones de configuración.
101101

102-
Usa `meter_provider` o `logger_provider` en el mismo diccionario para suministrar un provider de métricas o logs. La aplicación o el paquete que crea un provider gestiona su cierre. FastAPI gestiona los componentes de exportación que añade.
102+
Usa `meter_provider` o `logger_provider` en el mismo diccionario para proporcionar un proveedor de métricas o logs. La aplicación o el paquete que crea un proveedor gestiona su cierre. FastAPI gestiona los componentes de exportación que añade.
103103

104104
/// warning | Advertencia
105105

106-
OpenTelemetry usa providers globales por defecto. La configuración independiente de telemetría para [sub-aplicaciones montadas](sub-applications.md) no está garantizada.
106+
OpenTelemetry usa proveedores globales por defecto. No se garantiza una configuración de telemetría independiente para las [subaplicaciones montadas](sub-applications.md).
107107

108108
///
109109

110-
### Traza operaciones de requests { #trace-request-operations }
110+
### Traza las operaciones de las requests { #trace-request-operations }
111111

112-
Por defecto, las trazas de requests incluyen spans para resolver dependencias, ejecutar tu path operation function, serializar la response y ejecutar cada tarea en `BackgroundTasks` de FastAPI. Estos spans usan el mismo provider y exporters.
112+
Por defecto, las trazas de las requests incluyen spans para resolver dependencias, ejecutar tu path operation function, serializar la response y ejecutar cada tarea de `BackgroundTasks` de FastAPI. Estos spans usan el mismo proveedor y los mismos exportadores.
113113

114-
Los spans de tareas en segundo plano siguen siendo parte de la traza de la request. Se ejecutan después de que termina el span de response HTTP, así que no aumentan el tiempo de response medido.
114+
Los spans de las tareas en segundo plano siguen formando parte de la traza de la request. Se ejecutan después de que termine el span de la response HTTP, por lo que no aumentan el tiempo de response medido.
115115

116-
Para registrar solo el span de la request HTTP, define `operation_spans` como `False`:
116+
Para registrar solo el span de la request HTTP, establece `operation_spans` en `False`:
117117

118118
{* ../../docs_src/opentelemetry/tutorial003_py310.py hl[3] *}
119119

120120

121-
### Traza conexiones WebSocket { #trace-websocket-connections }
121+
### Traza las conexiones WebSocket { #trace-websocket-connections }
122122

123-
Cada conexión WebSocket tiene un span como `WS /ws/{room}`, que cubre el handler y la limpieza de dependencias. Usa los mismos providers y configuraciones, incluyendo `operation_spans` para la resolución de dependencias y la ejecución del endpoint.
123+
Cada conexión WebSocket tiene un span como `WS /ws/{room}`, que abarca el manejador y la limpieza de las dependencias. Usa los mismos proveedores y ajustes, incluido `operation_spans` para la resolución de dependencias y la ejecución del endpoint.
124124

125-
Las métricas de requests HTTP cubren solo requests HTTP. Las desconexiones WebSocket normales con códigos `1000` o `1001` no producen logs de error.
125+
Las métricas de requests HTTP abarcan únicamente requests HTTP. Las desconexiones normales de WebSocket con los códigos `1000` o `1001` no generan logs de error.
126126

127-
### Inspecciona errores { #inspect-errors }
127+
### Inspecciona los errores { #inspect-errors }
128128

129-
FastAPI registra excepciones no manejadas como logs de OpenTelemetry, vinculadas a la traza de la request o de la conexión. Los logs de error se registran incluso cuando la traza no se muestrea.
129+
FastAPI registra las excepciones no controladas como logs de OpenTelemetry, vinculados a la traza de la request o de la conexión. Los logs de error se registran incluso cuando la traza no se incluye en el muestreo.
130130

131-
Los logs de excepciones incluyen el tipo, mensaje y stack trace de la excepción. Los mensajes y stack traces pueden contener información sensible. Usa los procesadores de logs de tu provider para filtrarlos o redactarlos, o define `logs` como `False` para deshabilitar estos logs.
131+
Los logs de excepciones incluyen el tipo, el mensaje y la traza de la pila de la excepción. Los mensajes y las trazas de la pila pueden contener información sensible. Usa los procesadores de logs de tu proveedor para filtrarlos u ocultar la información sensible, o establece `logs` en `False` para desactivar estos logs.
132132

133-
FastAPI también registra fallos de validación de requests como logs de advertencia con la route y el conteo de errores. Estos logs no incluyen la entrada inválida.
133+
FastAPI también registra los fallos de validación de las requests como logs de advertencia con la ruta y el número de errores. Estos logs no incluyen la entrada no válida.
134134

135135
## Elige qué registrar { #choose-what-to-record }
136136

137-
El diccionario `telemetry` también acepta estas configuraciones:
137+
El diccionario `telemetry` también acepta estos ajustes:
138138

139-
| Configuración | Propósito | Por defecto |
139+
| Ajuste | Propósito | Por defecto |
140140
| --- | --- | --- |
141141
| `tracing` | Registrar spans de requests HTTP y conexiones WebSocket | `True` |
142142
| `metrics` | Registrar métricas de requests HTTP | `True` |
143-
| `logs` | Registrar fallos de validación y excepciones no manejadas | `True` |
144-
| `operation_spans` | Añadir spans para operaciones de requests | `True` |
145-
| `exclude` | Omitir requests cuando una función que recibe el scope ASGI devuelve `True` | `None` |
146-
| `auto_configure` | Añadir exporters para endpoints definidos en variables de entorno | `True` |
143+
| `logs` | Registrar fallos de validación y excepciones no controladas | `True` |
144+
| `operation_spans` | Añadir spans para las operaciones de las requests | `True` |
145+
| `exclude` | Omitir requests cuando una función que recibe el scope de ASGI devuelve `True` | `None` |
146+
| `auto_configure` | Añadir exportadores para los endpoints establecidos en variables de entorno | `True` |
147147

148-
Por ejemplo, para recopilar métricas excluyendo health checks:
148+
Por ejemplo, para recopilar métricas excluyendo las verificaciones de estado:
149149

150150
```python
151151
from fastapi import FastAPI
@@ -158,4 +158,4 @@ app = FastAPI(
158158
)
159159
```
160160

161-
Define `auto_configure` como `False` cuando tu aplicación maneja por sí misma la configuración del provider, como dentro de su función lifespan.
161+
Establece `auto_configure` en `False` cuando tu aplicación gestione por sí misma la configuración de los proveedores, por ejemplo, dentro de su función lifespan.

0 commit comments

Comments
 (0)