{"id":4980,"date":"2018-04-09T12:51:10","date_gmt":"2018-04-09T19:51:10","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4980"},"modified":"2020-08-11T15:17:55","modified_gmt":"2020-08-11T22:17:55","slug":"how-opentracing-became-important","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/how-opentracing-became-important\/","title":{"rendered":"Qu\u00e9 es OpenTracing y por qu\u00e9 es importante"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Ya hemos hablado anteriormente de por qu\u00e9 la observabilidad del sistema es importante en los sistemas distribuidos y de los retos que puede ayudar a superar - si te lo perdiste, puedes ver <a href=\"https:\/\/www.couchbase.com\/blog\/es\/author\/matt-ingenthron\/\">Matt Ingenthron<\/a> introducci\u00f3n a <a href=\"https:\/\/www.couchbase.com\/blog\/es\/building-an-observation-deck\/\">el problema aqu\u00ed<\/a>.\u00a0<\/span><span style=\"font-weight: 400;\">A continuaci\u00f3n, discutiremos por qu\u00e9 el equipo del SDK de Couchbase seleccion\u00f3 <a href=\"https:\/\/opentracing.io\">OpenTracing<\/a> como su API de rastreo y por qu\u00e9 creemos que es algo importante. Tambi\u00e9n haremos una breve introducci\u00f3n a los SDK. <em>ThresholdLoggingTracer<\/em> con el SDK .NET (En OpenTracing, .NET se utiliza como veh\u00edculo para demostrar el trazador, una funcionalidad similar estar\u00e1 disponible en cada uno de los SDKs).<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">\u00bfPor qu\u00e9 OpenTracing?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/opentracing.io\">OpenTracing<\/a> es una API estandarizada que describe c\u00f3mo estructurar la informaci\u00f3n de rastreo dentro de un entorno de sistema distribuido y c\u00f3mo una solicitud puede cruzar los l\u00edmites de un proceso. OpenTracing nos permite separar los datos que se recogen del mecanismo que los recoge y hace algo con ellos. Otra gran ventaja para nosotros es que OpenTracing es independiente del proveedor, lo que significa que podemos ofrecer la m\u00e1xima flexibilidad para utilizar una implementaci\u00f3n de seguimiento distribuido personalizada o de terceros sin tener que adherirnos a un protocolo de red prescrito o a una estructura de datos en tr\u00e1nsito.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En Couchbase, la observabilidad y la integraci\u00f3n de OpenTracing son importantes para nosotros. Sabemos que somos parte de una soluci\u00f3n de cliente m\u00e1s grande y queremos ayudar a informar la vista de lo que est\u00e1 pasando con elementos que conocemos. Para los SDKs de Couchbase definimos una colecci\u00f3n de pasos que describen el viaje que una petici\u00f3n (Get, Upsert, etc) toma desde que es enviada hasta que una respuesta est\u00e1 lista. En el mundo OpenTracing, estos pasos se llaman **Span**s y tienen informaci\u00f3n de tiempo (inicio \/ fin). Los spans tambi\u00e9n se pueden \"etiquetar\" con informaci\u00f3n adicional, como IDs, nombres de endpoints, detalles de red, etc. Toda esta informaci\u00f3n es \u00fatil para ayudar a tomar una instant\u00e1nea de lo que estaba pasando en ese momento.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cada uno de los SDKs define los siguientes Spans para una solicitud:<\/span><\/p>\n<table>\n<thead>\n<tr>\n<th>Paso<\/th>\n<th>Descripci\u00f3n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>solicitar codificaci\u00f3n<\/td>\n<td>Transcodificar el contenido del documento de un objeto nativo a una cadena JSON<\/td>\n<\/tr>\n<tr>\n<td>env\u00edo al servidor<\/td>\n<td>Enviar la solicitud a trav\u00e9s de la red y esperar una respuesta<\/td>\n<\/tr>\n<tr>\n<td>descodificaci\u00f3n de la respuesta<\/td>\n<td>Transcodificar el contenido del documento de respuesta de una cadena JSON a un objeto nativo<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em><span style=\"font-weight: 400;\">NOTA: la codificaci\u00f3n de la solicitud y la descodificaci\u00f3n de la respuesta s\u00f3lo son necesarias para algunas operaciones. Por ejemplo, Get omitir\u00eda \"codificaci\u00f3n de la solicitud\".<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">Adem\u00e1s de todo el trabajo espec\u00edfico del SDK, el servidor Couchbase ha sido mejorado para devolver la duraci\u00f3n de la operaci\u00f3n como parte de las respuestas KV para coincidir con otros servicios como N1QL, FTS y Analytics. Esto se codifica directamente en el paquete de respuesta y ser\u00e1 analizado utilizando el SDK durante el procesamiento. Esto ayuda a determinar si se ha empleado un tiempo inusualmente largo en el servicio de una operaci\u00f3n y puede utilizarse para ayudar a identificar la causa de una operaci\u00f3n lenta (por ejemplo, lectura desde disco).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n, la API OpenTracing describe un Tracer como la cosa que crea y recoge Spans y hace algo con ellos. Los SDKs de Couchbase proporcionan una implementaci\u00f3n de Tracer llamada <em>ThresholdLoggingTracer<\/em>\u00a0(v\u00e9ase m\u00e1s abajo). Este es un modesto trazador que agrega peticiones que exceden un umbral espec\u00edfico del servicio y luego las escribe en un registro en un intervalo dado, incluyendo un n\u00famero total y una peque\u00f1a muestra de los peores infractores. Por supuesto, el n\u00famero y los umbrales son ajustables, ya que hay una gran variedad de entornos en los que se despliega Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Un punto clave a mencionar aqu\u00ed es que los SDKs de Couchbase permiten intencionadamente reemplazar la implementaci\u00f3n del Tracer. Esto nos da el beneficio de permitir que la implementaci\u00f3n de Tracer sea intercambiada (personalizada o Producto) sin requerir que ninguna l\u00f3gica interna sea modificada.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Encontrar\u00e1 m\u00e1s informaci\u00f3n sobre la especificaci\u00f3n OpenTracing en <a href=\"https:\/\/github.com\/opentracing\/specification\/blob\/master\/specification.md\">aqu\u00ed<\/a>.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">ThresholdLoggingTracer utilizando C# .NET<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Vale, hasta ahora hemos hablado mucho de teor\u00eda, pero vamos a mostrarla en acci\u00f3n. El siguiente es un ejemplo sencillo de la <em>ThresholdLoggingTracer<\/em>\u00a0en acci\u00f3n en el SDK .NET.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Hemos intentado seleccionar valores por defecto razonables para el <em>ThresholdLoggingTracer<\/em>\u00a0para equilibrar la captura de detalles valiosos con el no spam de los archivos de registro. Adem\u00e1s, a partir de la pr\u00f3xima versi\u00f3n menor de cada SDK, todo esto estar\u00e1 habilitado por defecto. Eso significa que lo tendr\u00e1s todo gratis, \u00a1sin hacer nada extra!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Un ejemplo de la salida del registro se parece a esto (tenga en cuenta que este formato puede cambiar entre DP, beta y GA - \u00a1se necesitan comentarios!):<\/span><\/p>\n<pre class=\"lang:default decode:true\">[{\r\n\u00a0\u00a0\"service\": \"kv\",\r\n\u00a0\u00a0\"count\": 8,\r\n\u00a0\u00a0\"top\": [\r\n\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"operaion_name\": \"get\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"last_local_address\": \"10.211.55.3:52450\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"last_remote_address\": \"10.112.180.101:11210\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"total_duration_us\": 18908,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"encode_us\": 256,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"dispatch_us\": 825,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"decode_us\": 16,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"server_us\": 11\r\n\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"operaion_name\": \"set\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"last_local_address\": \"10.211.55.3:52450\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"last_remote_address\": \"10.112.180.101:11210\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"total_duration_us\": 11468,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"encode_us\": 3832,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"dispatch_us\": 565,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"decode_us\": 15,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"server_us\": 15\r\n\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0...\r\n\u00a0\u00a0]\r\n},\r\n{\r\n\u00a0\u00a0\"service\": \"n1ql\",\r\n\u00a0\u00a0\"count\": 7,\r\n\u00a0\u00a0\"top\": [\r\n\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"operation_id\": \"4bf5807b-1538-4420-a64d-a7829a2acf98\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"statement\": \"select default.* from `default` limit 1;\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"last_remote_address\": \"10.112.180.101:8093\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"total_duration_us\": 13674,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"encode_us\": 2311,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"dispatch_us\": 6883,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"decode_us\": 4551,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"server_us\": 4325\r\n\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0...\r\n\u00a0\u00a0]\r\n}]<\/pre>\n<p><span style=\"font-weight: 400;\">En el ejemplo anterior puede ver que agrupamos las operaciones por tipo, por ejemplo \"kv\", y damos un n\u00famero total de operaciones que superaron el umbral definido por el servicio. Tambi\u00e9n hay una muestra de las operaciones m\u00e1s lentas que proporcionan detalles adicionales. Esta informaci\u00f3n puede ser muy valiosa a la hora de diagnosticar un problema. Las muestras tambi\u00e9n incluyen la propiedad \"server_us\" que indica durante cu\u00e1nto tiempo estuvo el servidor procesando esa operaci\u00f3n.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">CNCF<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Fundaci\u00f3n para la Computaci\u00f3n Nativa en la Nube (<a href=\"https:\/\/www.cncf.io\">CNCF<\/a>) es una comunidad de proyectos de software de c\u00f3digo abierto construidos con contenedores y que forman parte de un ecosistema de microservicios desde el principio. Es un recurso valioso que permite a los proyectos colaborar con ingenieros de talento y ganar visibilidad mientras maduran. Esto es extremadamente importante para los proyectos peque\u00f1os, para garantizar que reciben apoyo y darles un trampol\u00edn hacia la naturaleza.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">OpenTracing ha sido aceptado en este programa y es un <em>incubando<\/em> proyecto. Esto s\u00f3lo ayudar\u00e1 a mejorar su visibilidad y alcance, lo que s\u00f3lo puede ser bueno tanto para ellos como para nosotros a medida que el proyecto madure y crezca.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por supuesto, dado que a\u00fan se est\u00e1 incubando y el est\u00e1ndar OpenTracing a\u00fan no ha alcanzado la versi\u00f3n 1.0, esto significa que la interfaz que ofreceremos desde los SDK de Couchbase seguir\u00e1 la evoluci\u00f3n del est\u00e1ndar.  Eso significa que nuestra interfaz estar\u00e1 marcada como <\/span><i><span style=\"font-weight: 400;\">no comprometido<\/span><\/i><span style=\"font-weight: 400;\"> por el momento, y puede cambiar incluso entre microediciones.  Intentaremos actualizarlo a <\/span><i><span style=\"font-weight: 400;\">comprometido<\/span><\/i><span style=\"font-weight: 400;\"> cuando OpenTracing llegue a 1.0.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Pr\u00f3ximos pasos<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Ahora que hemos explorado las razones por las que Couchbase seleccion\u00f3 OpenTracing como nuestra API de rastreo y lo que nos ha permitido ofrecer a nuestros usuarios, podemos discutir c\u00f3mo utilizar el rastreador fuera de la caja y c\u00f3mo integrarlo con otras soluciones de rastreo. <a href=\"https:\/\/www.couchbase.com\/blog\/es\/author\/michael-nitschinger\/\">Michael Nitschinger<\/a> va a profundizar en <a href=\"https:\/\/www.couchbase.com\/blog\/es\/response-time-observability-with-the-java-sdk\/\">Observabilidad del tiempo de respuesta con el SDK Java de Couchbase<\/a> y, a continuaci\u00f3n, mostrar c\u00f3mo integrar con el <a href=\"https:\/\/www.jaegertracing.io\/\">Jaeger<\/a> sistema de rastreo. <\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>We have previously discussed why system observability is important in distributed systems and the challenges that it can help to overcome &#8211; if you missed it, you can see Matt Ingenthron&#8217;s introduction to the problem here.\u00a0Next, we will discuss why [&hellip;]<\/p>","protected":false},"author":231,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1816,2201],"tags":[2258,2182,1281,2202,2203],"ppma_author":[9068],"class_list":["post-4980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-couchbase-server","category-tools-sdks","tag-5-5","tag-devbuild","tag-logging","tag-opentracing","tag-timing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What OpenTracing Is and Why It&#039;s Important - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Learn why the Couchbase selected OpenTracing as its tracing API. Also, check a brief introduction to SDKs ThresholdLoggingTracer with the .NET SDK.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/how-opentracing-became-important\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What OpenTracing Is and Why It&#039;s Important\" \/>\n<meta property=\"og:description\" content=\"Learn why the Couchbase selected OpenTracing as its tracing API. Also, check a brief introduction to SDKs ThresholdLoggingTracer with the .NET SDK.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/how-opentracing-became-important\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-09T19:51:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-08-11T22:17:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mike Goldsmith, Senior SDK Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mike Goldsmith, Senior SDK Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/\"},\"author\":{\"name\":\"Mike Goldsmith, Senior SDK Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/85cee7e28ad41149077eaf002572a844\"},\"headline\":\"What OpenTracing Is and Why It&#8217;s Important\",\"datePublished\":\"2018-04-09T19:51:10+00:00\",\"dateModified\":\"2020-08-11T22:17:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/\"},\"wordCount\":1034,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"5.5\",\"devbuild\",\"Logging\",\"opentracing\",\"timing\"],\"articleSection\":[\".NET\",\"Couchbase Server\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/\",\"name\":\"What OpenTracing Is and Why It's Important - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-04-09T19:51:10+00:00\",\"dateModified\":\"2020-08-11T22:17:55+00:00\",\"description\":\"Learn why the Couchbase selected OpenTracing as its tracing API. Also, check a brief introduction to SDKs ThresholdLoggingTracer with the .NET SDK.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What OpenTracing Is and Why It&#8217;s Important\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/85cee7e28ad41149077eaf002572a844\",\"name\":\"Mike Goldsmith, Senior SDK Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b136e26873cc009612af905dd00efbb6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9c192080e500dc41ca1863d7964ecdb9a6e5b9dd3a76e499fede964f825e2649?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9c192080e500dc41ca1863d7964ecdb9a6e5b9dd3a76e499fede964f825e2649?s=96&d=mm&r=g\",\"caption\":\"Mike Goldsmith, Senior SDK Engineer, Couchbase\"},\"description\":\"Mike Goldsmith is a Senior SDK Engineer at Couchbase with extensive big data project experience. Recently Mike really enjoyed working with Docker.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/mike-goldsmith\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What OpenTracing Is and Why It's Important - The Couchbase Blog","description":"Conozca por qu\u00e9 Couchbase seleccion\u00f3 OpenTracing como su API de rastreo. Adem\u00e1s, consulta una breve introducci\u00f3n a SDKs ThresholdLoggingTracer con el SDK .NET.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/how-opentracing-became-important\/","og_locale":"es_MX","og_type":"article","og_title":"What OpenTracing Is and Why It's Important","og_description":"Learn why the Couchbase selected OpenTracing as its tracing API. Also, check a brief introduction to SDKs ThresholdLoggingTracer with the .NET SDK.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/how-opentracing-became-important\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-04-09T19:51:10+00:00","article_modified_time":"2020-08-11T22:17:55+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Mike Goldsmith, Senior SDK Engineer, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mike Goldsmith, Senior SDK Engineer, Couchbase","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/"},"author":{"name":"Mike Goldsmith, Senior SDK Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/85cee7e28ad41149077eaf002572a844"},"headline":"What OpenTracing Is and Why It&#8217;s Important","datePublished":"2018-04-09T19:51:10+00:00","dateModified":"2020-08-11T22:17:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/"},"wordCount":1034,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["5.5","devbuild","Logging","opentracing","timing"],"articleSection":[".NET","Couchbase Server","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/","url":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/","name":"What OpenTracing Is and Why It's Important - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-04-09T19:51:10+00:00","dateModified":"2020-08-11T22:17:55+00:00","description":"Conozca por qu\u00e9 Couchbase seleccion\u00f3 OpenTracing como su API de rastreo. Adem\u00e1s, consulta una breve introducci\u00f3n a SDKs ThresholdLoggingTracer con el SDK .NET.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/how-opentracing-became-important\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What OpenTracing Is and Why It&#8217;s Important"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/85cee7e28ad41149077eaf002572a844","name":"Mike Goldsmith, Ingeniero Senior SDK, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b136e26873cc009612af905dd00efbb6","url":"https:\/\/secure.gravatar.com\/avatar\/9c192080e500dc41ca1863d7964ecdb9a6e5b9dd3a76e499fede964f825e2649?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9c192080e500dc41ca1863d7964ecdb9a6e5b9dd3a76e499fede964f825e2649?s=96&d=mm&r=g","caption":"Mike Goldsmith, Senior SDK Engineer, Couchbase"},"description":"Mike Goldsmith es un Ingeniero Senior SDK en Couchbase con amplia experiencia en proyectos de big data. Recientemente Mike disfrut\u00f3 mucho trabajando con Docker.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/mike-goldsmith\/"}]}},"authors":[{"term_id":9068,"user_id":231,"is_guest":0,"slug":"mike-goldsmith","display_name":"Mike Goldsmith, Senior SDK Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/9c192080e500dc41ca1863d7964ecdb9a6e5b9dd3a76e499fede964f825e2649?s=96&d=mm&r=g","author_category":"","last_name":"Goldsmith, Senior SDK Engineer, Couchbase","first_name":"Mike","job_title":"","user_url":"","description":"Mike Goldsmith es un Ingeniero Senior SDK en Couchbase con amplia experiencia en proyectos de big data. Recientemente Mike disfrut\u00f3 mucho trabajando con Docker."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/231"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=4980"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4980\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=4980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=4980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=4980"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=4980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}