{"componentChunkName":"component---src-templates-docs-js","path":"/es-es/guides/external-reports/opentelemetry-integration","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"3140dd51-9f5d-5a2d-a5df-6075a8f5a2a1","title":"Integracion OpenTelemetry (OTLP)","slug":"/es-es/guides/external-reports/opentelemetry-integration","locale":"es-ES"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Integracion OpenTelemetry (OTLP)\",\n  \"metaTitle\": \"Integracion OpenTelemetry OTLP | LoadFocus\",\n  \"metaDescription\": \"Envie metricas de pruebas de carga en vivo por OTLP a cualquier backend OpenTelemetry como Honeycomb, Grafana Cloud, New Relic o Datadog.\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"Enviar metricas de pruebas de carga por OpenTelemetry\"), mdx(\"p\", null, \"La integracion OpenTelemetry exporta las metricas en vivo de sus pruebas de carga a traves del protocolo OpenTelemetry (OTLP) a cualquier backend compatible con OTLP, para que pueda seguir una prueba en la misma herramienta que ya usa para observabilidad. Funciona con Honeycomb, Grafana Cloud, New Relic, Datadog, Dynatrace, Elastic y cualquier OpenTelemetry Collector autoalojado.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"800px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/docs/static/f144cfe299f551038e20f5b8699847dd/d50e7/opentelemetry-configuration.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"68.5%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAAsTAAALEwEAmpwYAAABb0lEQVQoz42SQXKcMBBFObyXvkc2uUEWuYQrZgwzQjMxBoludQskJM0mJZRMJiRx0vWKeiw+X0BXo0KtcQICZEDOAoSbaI3voDRWWqPlRQhZ103bCiHky8vxcGj7fvA+OLf+Ee9XQMphACOEPJ26pjkdj6JtRV03r69vAGaaEACnCe/EACCzBaBKT2Yc1dPTl6Y5dp3s8pyF6DaXUp6lPBe53V4uX7dnmUppRCREsna2dtmuWZizMM9Fbs48E1lrl9ysNBIxomG2MaaUrn+jzE3yOyuNxvAwKCK75gn/Q1jjz2atJ0RDxO8077g1EwA650OIIaSN+E++NzPbcdQAJoSYjxTiriT+Njn8o9kM46D02PdvUl76fjCGAUz5sUQcQowx3ZNSKmGYbYDJI6zLHMo3c84viys453fJQg4Tw8cP8fHh+vhw/fxpTWkhsrvFXBa/w7kVkapRTd2J6mdzeDaXs0EsK0n3lC36FVYKvgEGthM9sZmHyQAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Modal de configuracion de OpenTelemetry en LoadFocus con los campos nombre, endpoint OTLP, protocolo y headers\",\n    \"title\": \"Modal de configuracion de OpenTelemetry en LoadFocus con los campos nombre, endpoint OTLP, protocolo y headers\",\n    \"src\": \"/docs/static/f144cfe299f551038e20f5b8699847dd/5a190/opentelemetry-configuration.png\",\n    \"srcSet\": [\"/docs/static/f144cfe299f551038e20f5b8699847dd/772e8/opentelemetry-configuration.png 200w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/e17e5/opentelemetry-configuration.png 400w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/5a190/opentelemetry-configuration.png 800w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/c1b63/opentelemetry-configuration.png 1200w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/29007/opentelemetry-configuration.png 1600w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/d50e7/opentelemetry-configuration.png 2280w\"],\n    \"sizes\": \"(max-width: 800px) 100vw, 800px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"h2\", null, \"Crear la integracion\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Vaya a \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Account\"), \" > \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Integration Settings\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Haga clic en \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"New Integration\"), \" y elija \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"OpenTelemetry\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Complete los campos siguientes y haga clic en \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Save integration\"), \".\")), mdx(\"h3\", null, \"Campos de la integracion\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Name:\"), \" Una etiqueta para esta integracion, por ejemplo \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Honeycomb HTTP\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"OTLP Endpoint:\"), \" A donde se envian las metricas.\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Para \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"HTTP (protobuf)\"), \", use la URL base incluyendo el esquema, por ejemplo \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://api.honeycomb.io\"), \". LoadFocus anade \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"/v1/metrics\"), \" por usted.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Para \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"gRPC\"), \", use \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"host:port\"), \", por ejemplo \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"api.honeycomb.io:443\"), \". Si omite el esquema, se asume \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://\"), \".\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Protocol:\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"HTTP (protobuf)\"), \" (el valor por defecto, funciona en todas partes) o \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gRPC\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Headers:\"), \" Pares \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"key=value\"), \" separados por comas para la autenticacion, por ejemplo \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"api-key=YOUR_KEY,x-tenant=team\"), \". Es el unico campo secreto y se almacena cifrado.\")), mdx(\"h2\", null, \"Endpoints y Headers por backend\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Backend\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Endpoint (HTTP)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Endpoint (gRPC)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Headers\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Honeycomb\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://api.honeycomb.io\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"api.honeycomb.io:443\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"x-honeycomb-team=INGEST_KEY,x-honeycomb-dataset=DATASET_NAME\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Grafana Cloud\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL del gateway OTLP de su stack\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"no disponible en el gateway alojado\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Authorization=Basic BASE64(instanceID:token)\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"New Relic\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://otlp.nr-data.net\"), \" (US) o \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://otlp.eu01.nr-data.net\"), \" (EU)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"otlp.nr-data.net:4317\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"api-key=LICENSE_KEY\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Dynatrace\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://ENV.live.dynatrace.com/api/v2/otlp\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"no disponible\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Authorization=Api-Token TOKEN\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Elastic\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL OTLP de su servidor APM\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"host:8200\"), \" de su servidor APM\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Authorization=ApiKey API_KEY\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Collector autoalojado\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"http(s)://su-collector:4318\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"su-collector:4317\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"opcional\")))), mdx(\"h3\", null, \"Notas sobre Honeycomb\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Use una \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ingest Key\"), \", creada en \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Environment Settings\"), \" > \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"API Keys\"), \" > \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Ingest\"), \". Copie el \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Key Secret\"), \" que se muestra una sola vez al crear la clave, no la Key ID mas corta de la lista. Enviar la Key ID devuelve \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"unknown API key\"), \" (HTTP 401).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Las metricas requieren el header \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"x-honeycomb-dataset\"), \" para nombrar el dataset de destino.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"De a la clave el permiso \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Can create services/datasets\"), \" para que el dataset se cree con las primeras metricas que lleguen.\")), mdx(\"h2\", null, \"Asignar la integracion a una prueba\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Abra una prueba de JMeter o k6 y vaya a su seccion \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Integrations\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Seleccione su integracion OpenTelemetry en el desplegable.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Guarde la prueba y ejecutela.\")), mdx(\"p\", null, \"Cada ejecucion con una integracion asignada envia sus metricas al backend configurado.\"), mdx(\"h2\", null, \"Que vera\"), mdx(\"p\", null, \"Las metricas llegan etiquetadas con los atributos de recurso \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"service.name\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"loadfocus.testrunname\"), \" y \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"loadfocus.testrunid\"), \", para que pueda filtrar por ejecucion.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Las pruebas de JMeter\"), \" envian \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"jmeter.samples\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"jmeter.response_time_ms\"), \" y \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"jmeter.errors\"), \", etiquetadas con \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"sampler\"), \" y \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"response_code\"), \". JMeter agrupa y vuelca al final de la ejecucion, por lo que sus metricas aparecen cuando la ejecucion termina.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Las pruebas de k6\"), \" envian las metricas estandar de k6 como \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"http_req_duration\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"http_reqs\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"vus\"), \" e \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"iterations\"), \", transmitidas mientras la prueba se ejecuta.\")), mdx(\"h2\", null, \"Solucion de problemas\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"unknown API key\"), \" o HTTP 401:\"), \" la credencial es incorrecta o falta. En Honeycomb, confirme que uso el Key Secret y no la Key ID.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Sin datos en el backend:\"), \" confirme el nombre de destino (dataset de Honeycomb, cuenta de New Relic, etc.), confirme el header de autenticacion y recuerde que las metricas de JMeter solo aparecen cuando la ejecucion ha terminado.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Endpoint rechazado:\"), \" los endpoints HTTP deben incluir el esquema \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://\"), \"; los endpoints gRPC usan \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"host:port\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"La ejecucion no se ve afectada:\"), \" si una integracion esta mal configurada, la prueba se ejecuta igualmente, simplemente no exporta metricas.\")), mdx(\"h2\", null, \"Editar o eliminar la integracion\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Editar:\"), \" en \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Integration Settings\"), \", haga clic en el icono de editar de la integracion para cambiar el nombre, el endpoint, el protocolo o los headers. Deje el campo Headers vacio para conservar la credencial actual; introduzca un valor solo cuando quiera reemplazarla.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Eliminar:\"), \" haga clic en el icono de eliminar de la integracion para quitarla de sus servicios de informes externos.\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#enviar-metricas-de-pruebas-de-carga-por-opentelemetry","title":"Enviar metricas de pruebas de carga por OpenTelemetry"},{"url":"#crear-la-integracion","title":"Crear la integracion","items":[{"url":"#campos-de-la-integracion","title":"Campos de la integracion"}]},{"url":"#endpoints-y-headers-por-backend","title":"Endpoints y Headers por backend","items":[{"url":"#notas-sobre-honeycomb","title":"Notas sobre Honeycomb"}]},{"url":"#asignar-la-integracion-a-una-prueba","title":"Asignar la integracion a una prueba"},{"url":"#que-vera","title":"Que vera"},{"url":"#solucion-de-problemas","title":"Solucion de problemas"},{"url":"#editar-o-eliminar-la-integracion","title":"Editar o eliminar la integracion"}]},"parent":{"__typename":"File","relativePath":"es-es/guides/external-reports/opentelemetry-integration.md"},"frontmatter":{"metaTitle":"Integracion OpenTelemetry OTLP | LoadFocus","metaDescription":"Envie metricas de pruebas de carga en vivo por OTLP a cualquier backend OpenTelemetry como Honeycomb, Grafana Cloud, New Relic o Datadog.","order":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/es-es","title":"Bienvenido a la Documentación de LoadFocus"}}},{"node":{"fields":{"slug":"/es-es/guides","title":"Guías Prácticas"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base","title":"Base de Conocimientos"}}},{"node":{"fields":{"slug":"/es-es/pricing","title":"Preguntas Frecuentes sobre Precios"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/how-to-update-card-details","title":"Cómo Actualizar los Datos de la Tarjeta para Pagos Fallidos"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/understanding-declined-card-payments","title":"¿Por qué ha sido rechazado el pago con mi tarjeta?"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring","title":"Monitoreo de API"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/understanding-differences-between-http-and-https","title":"Diferencias entre HTTP y HTTPS"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"Cómo hacer pruebas de carga de un sitio web o API alojado localmente"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/using-query-parameters","title":"Cómo Usar Parámetros de Consulta URL"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"Sin tráfico en Google Analytics durante las pruebas de carga"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing","title":"Pruebas de Carga con Apache JMeter"}}},{"node":{"fields":{"slug":"/es-es/guides/external-reports","title":"Informes Externos"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/using-valid-url-endpoints","title":"Qué es una URL Válida para una Prueba de Carga"}}},{"node":{"fields":{"slug":"/es-es/knowledge-base/what-is-an-http-method","title":"Qué es un método de solicitud HTTP"}}},{"node":{"fields":{"slug":"/es-es/guides/k6-load-testing","title":"k6 pruebas de carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing","title":"Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/mcp","title":"Asistentes de IA (MCP)"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance","title":"Monitorear el Rendimiento del Sitio Web"}}},{"node":{"fields":{"slug":"/es-es/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/es-es/guides/onboarding","title":"Onboarding de LoadFocus"}}},{"node":{"fields":{"slug":"/es-es/guides/openapi-import","title":"Importar desde OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/es-es/guides/reusable-snippets","title":"Snippets reutilizables"}}},{"node":{"fields":{"slug":"/es-es/guides/setup-teardown-scripts","title":"Scripts de configuración y limpieza"}}},{"node":{"fields":{"slug":"/es-es/guides/teams","title":"Gestión de Equipos"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Descargar Archivos .JMX y .CSV en LoadFocus"}}},{"node":{"fields":{"slug":"/es-es/guides/k6-load-testing/analyzing-k6-test-results","title":"Análisis de resultados de tests de carga k6"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/adding-notes-to-results","title":"Añadir Notas a los Resultados de las Pruebas"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/alert-configuration","title":"Configuración de Alertas"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels","title":"Canales de alerta"}}},{"node":{"fields":{"slug":"/es-es/guides/external-reports/datadog-integration","title":"Integración con Datadog"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"Cómo Ejecutar una Nueva Prueba de Carga con Apache JMeter"}}},{"node":{"fields":{"slug":"/es-es/guides/k6-load-testing/how-to-run-k6-load-test","title":"Cómo ejecutar un nuevo test de carga k6"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/alert-metrics","title":"Métricas de Alerta"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/es-es/guides/external-reports/opentelemetry-integration","title":"Integracion OpenTelemetry (OTLP)"}}},{"node":{"fields":{"slug":"/es-es/guides/external-reports/azure-app-insights-integration","title":"Integración con Azure App Insights"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/import-to-jmeter-from-curl-har-postman-openapi","title":"Importar cURL, HAR, Postman u OpenAPI a una prueba JMeter"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Comparación de Core Web Vitals con la Competencia"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/analyzing-load-test-results","title":"Cómo Verificar los Resultados de Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/api-check-results","title":"Comprender los Resultados de Verificación de API"}}},{"node":{"fields":{"slug":"/es-es/guides/k6-load-testing/import-to-k6-from-curl-har-postman-openapi","title":"Importar cURL, HAR, Postman u OpenAPI a una prueba k6"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/authorization-code-grant-type-oauth-2-0","title":"Tipo de Concesión Authorization Code en OAuth 2.0"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/core-web-vitals-metrics","title":"¿Qué son los Core Web Vitals?"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/browser-checks","title":"Browser Checks"}}},{"node":{"fields":{"slug":"/es-es/guides/k6-load-testing/uploading-k6-scripts","title":"Subir scripts y archivos de datos de k6"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/baseline-comparison-between-load-tests","title":"Comparación de Línea Base entre Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/getting-started","title":"Primeros Pasos"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"¿Cuáles son los recursos de hardware asignados a mi cuenta para generadores de carga?"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/how-to-create-new-alert","title":"Crear una Nueva Alerta"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/client-credentials-grant-type-oauth-2-0","title":"Tipo de Concesión Client Credentials en OAuth 2.0"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/check-groups","title":"Grupos de verificaciones"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/check-retries-and-alert-thresholds","title":"Reintentos y umbrales de alerta"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Integración de API de Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-anomalies","title":"Anomalías en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/common-http-error-codes","title":"Códigos de Estado de Error HTTP Comunes"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Crear Nueva Prueba de Rendimiento Web"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/custom-domain-status-page","title":"Cómo añadir un dominio propio a tu página de estado"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/crafting-perfect-test-names","title":"Crear Nombres de Prueba Perfectos"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/dashboards","title":"Paneles"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Monitoreo de Salud del Motor"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/http-authentication","title":"Autenticación HTTP"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/decoding-average-response-times","title":"Decodificar el Tiempo Promedio de Respuesta"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-error-analysis","title":"Análisis de Errores"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/dns-monitors","title":"Monitores DNS"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/deep-dive-samples-in-load-testing","title":"¿Qué son las Muestras en Pruebas de Carga?"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-insights","title":"Perspectivas de Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/heartbeat-monitors","title":"Monitores Heartbeat (tareas cron)"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Análisis de Logs y Archivos JTL"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/demo","title":"Demostración"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/pdf-report-branding","title":"Informes PDF con tu marca"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"Análisis de Archivo de Log de JMeter"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/incident-management","title":"Gestión de incidentes"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/end-time-in-load-testing","title":"Comprender la Importancia del 'Tiempo de Finalización' en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/performance-budgets","title":"Presupuestos de Rendimiento y Alertas"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/lighthouse-opportunities","title":"Oportunidades de Lighthouse"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Vista de Línea de Tiempo"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/maintenance-windows","title":"Ventanas de mantenimiento"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/real-user-field-data","title":"Datos de Campo de Usuarios Reales (CrUX)"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/erros-and-reponse-codes","title":"Errores y Códigos de Respuesta"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/multistep-api-checks","title":"Verificaciones de API multipaso"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"Subir Archivos JMeter a LoadFocus: Guía Paso a Paso"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/geographical-test-location-in-load-testing","title":"Ubicación Geográfica de Prueba en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/monitor-website-performance/sitemap-import","title":"Importar desde Sitemap"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/getting-started","title":"Primeros Pasos"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/using-multiple-csv-files-with-jmeter-engines","title":"Usar Múltiples Archivos CSV con Motores JMeter en LoadFocus"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check","title":"Cómo Crear una Nueva Verificación de API"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularidad en Resultados y Gráficos de Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/sla-slo-reports","title":"Informes de disponibilidad SLA y SLO"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/headers-and-manage-presets","title":"Encabezados y Presets de Encabezados"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/snippets","title":"Snippets"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/ssl-certificate-monitoring","title":"Monitorización de certificados SSL"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/how-to-url-query-parameters","title":"Parámetros de Consulta"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/status-pages","title":"Crea una página de estado pública para tus monitores"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/how-to-run-new-load-test","title":"Cómo Ejecutar una Nueva Prueba de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/http-methods-overview-load-testing","title":"Métodos HTTP: Una Visión General"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/tcp-monitors","title":"Monitores de puerto TCP"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/implicit-grant-type-oauth-2-0","title":"Tipo de Concesión Implicit en OAuth 2.0"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/load-generators-hardware-infrastructure","title":"¿Cuáles son los recursos de hardware asignados a mi cuenta para generadores de carga?"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/variables","title":"Variables"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/load-test-result-ai-analysis","title":"Análisis de IA de Resultados de Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/page-speed-under-load-trends","title":"Page Speed Under Load Trends"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/pass-fail-thresholds","title":"Umbrales de aprobado/fallo"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/password-credentials-grant-type-oauth-2-0","title":"Tipo de Concesión Password Credentials en OAuth 2.0"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/page-speed-under-load","title":"Velocidad de página bajo carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/performance-trend-load-test-results","title":"Tendencia de rendimiento"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/refresh-token-grant-type-oauth-2-0","title":"Tipo de Concesión Refresh Token en OAuth 2.0"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/release-tags-and-run-annotations","title":"Etiquetas de Lanzamiento y Anotaciones de Ejecución"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/scheduled-load-tests","title":"Pruebas de Carga Programadas"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/share-load-test-reports","title":"Compartir informes de pruebas de carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/start-time-in-load-testing","title":"Comprender la Importancia del Tiempo de Inicio en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/use-cases","title":"Casos de Uso"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/using-cookies","title":"Usar Cookies"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-are-iterations-load-testing","title":"Dominar las Iteraciones en Pruebas de Carga: Una Inmersión Profunda"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-are-virtual-users-load-testing","title":"Qué son los Usuarios Virtuales en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-delay-when-running-a-load-test","title":"¿Qué es el Retraso al ejecutar una Prueba de Carga?"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-duration-in-load-testing","title":"Qué es la Duración en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-oauth-2-0-authorization","title":"Autorización OAuth 2.0"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-ramp-up-steps-in-load-testing","title":"Qué son los Pasos de Rampa en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-grant-type","title":"¿Qué es un Tipo de Concesión?"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/white-label-report-branding","title":"Informes PDF con tu marca"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-test-run-id","title":"¿Qué es un ID de Ejecución de Prueba?"}}},{"node":{"fields":{"slug":"/es-es/guides/load-testing/what-is-ramp-up-time-in-load-testing","title":"Qué es el Tiempo de Rampa en Pruebas de Carga"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/discord","title":"Alertas de Discord"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activar/Desactivar"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/email","title":"Alertas de Email"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/alert-channels","title":"Canales de Alerta"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/microsoft-teams","title":"Alertas de Microsoft Teams"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/opsgenie","title":"Alertas de Opsgenie"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/frequency","title":"Frecuencia"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/pagerduty","title":"Alertas de PagerDuty"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/assertions","title":"Aserciones"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/friendly-check-name","title":"Nombre Amigable de Verificación"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/slack","title":"Alertas de Slack"}}},{"node":{"fields":{"slug":"/es-es/guides/jmeter-load-testing/jmeter-integration-ci-cd/overview","title":"Integrar el Cliente API de JMeter con Pipelines de CI/CD"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/alert-channels/webhook","title":"Alertas de Webhook"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/locations","title":"Ubicaciones"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/request-configuration","title":"Configuración de Solicitud"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/mute-unmute","title":"Silenciar/Activar Sonido"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/request-preview","title":"Vista Previa de Solicitud"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/response-time-limits","title":"Límites de Tiempo de Respuesta"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/save-run","title":"Guardar y Ejecutar"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/retries","title":"Reintentos Antes de Alertar"}}},{"node":{"fields":{"slug":"/es-es/guides/api-monitoring/new-api-check/webhook-channels","title":"Canal Webhook"}}}]}},"pageContext":{"id":"3140dd51-9f5d-5a2d-a5df-6075a8f5a2a1","locale":"es-ES"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}