{
  "description": "This instrumentation provides a library integration for the Spring WebFlux WebClient and Webflux server versions 5.3+ that enables HTTP client and server spans and metrics.",
  "display_name": "Spring WebFlux",
  "has_standalone_library": true,
  "library_link": "https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/reactive/package-summary.html",
  "markdown_hash": "2c795bbfeac7",
  "name": "spring-webflux-5.3",
  "scope": {
    "name": "io.opentelemetry.spring-webflux-5.3",
    "schema_url": "https://opentelemetry.io/schemas/1.41.0"
  },
  "semantic_conventions": [
    "HTTP_CLIENT_SPANS",
    "HTTP_CLIENT_METRICS",
    "HTTP_SERVER_SPANS",
    "HTTP_SERVER_METRICS"
  ],
  "source_path": "instrumentation/spring/spring-webflux/spring-webflux-5.3",
  "telemetry": [
    {
      "metrics": [
        {
          "attributes": [
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "server.address",
              "type": "STRING"
            },
            {
              "name": "server.port",
              "type": "LONG"
            }
          ],
          "data_type": "HISTOGRAM",
          "description": "Duration of HTTP client requests.",
          "instrument": "histogram",
          "name": "http.client.request.duration",
          "unit": "s"
        },
        {
          "attributes": [
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "http.route",
              "type": "STRING"
            },
            {
              "name": "url.scheme",
              "type": "STRING"
            }
          ],
          "data_type": "HISTOGRAM",
          "description": "Duration of HTTP server requests.",
          "instrument": "histogram",
          "name": "http.server.request.duration",
          "unit": "s"
        }
      ],
      "spans": [
        {
          "attributes": [
            {
              "name": "error.type",
              "type": "STRING"
            },
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "server.address",
              "type": "STRING"
            },
            {
              "name": "server.port",
              "type": "LONG"
            },
            {
              "name": "url.full",
              "type": "STRING"
            }
          ],
          "span_kind": "CLIENT"
        },
        {
          "attributes": [
            {
              "name": "client.address",
              "type": "STRING"
            },
            {
              "name": "error.type",
              "type": "STRING"
            },
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "http.route",
              "type": "STRING"
            },
            {
              "name": "network.peer.address",
              "type": "STRING"
            },
            {
              "name": "network.peer.port",
              "type": "LONG"
            },
            {
              "name": "server.address",
              "type": "STRING"
            },
            {
              "name": "server.port",
              "type": "LONG"
            },
            {
              "name": "url.path",
              "type": "STRING"
            },
            {
              "name": "url.query",
              "type": "STRING"
            },
            {
              "name": "url.scheme",
              "type": "STRING"
            },
            {
              "name": "user_agent.original",
              "type": "STRING"
            }
          ],
          "span_kind": "SERVER"
        }
      ],
      "when": "default"
    },
    {
      "metrics": [
        {
          "attributes": [
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "server.address",
              "type": "STRING"
            },
            {
              "name": "server.port",
              "type": "LONG"
            }
          ],
          "data_type": "HISTOGRAM",
          "description": "Duration of HTTP client requests.",
          "instrument": "histogram",
          "name": "http.client.request.duration",
          "unit": "s"
        },
        {
          "attributes": [
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "http.route",
              "type": "STRING"
            },
            {
              "name": "url.scheme",
              "type": "STRING"
            }
          ],
          "data_type": "HISTOGRAM",
          "description": "Duration of HTTP server requests.",
          "instrument": "histogram",
          "name": "http.server.request.duration",
          "unit": "s"
        }
      ],
      "spans": [
        {
          "attributes": [
            {
              "name": "error.type",
              "type": "STRING"
            },
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "server.address",
              "type": "STRING"
            },
            {
              "name": "server.port",
              "type": "LONG"
            },
            {
              "name": "url.full",
              "type": "STRING"
            }
          ],
          "span_kind": "CLIENT"
        },
        {
          "attributes": [
            {
              "name": "client.address",
              "type": "STRING"
            },
            {
              "name": "error.type",
              "type": "STRING"
            },
            {
              "name": "http.request.method",
              "type": "STRING"
            },
            {
              "name": "http.response.status_code",
              "type": "LONG"
            },
            {
              "name": "http.route",
              "type": "STRING"
            },
            {
              "name": "network.peer.address",
              "type": "STRING"
            },
            {
              "name": "network.peer.port",
              "type": "LONG"
            },
            {
              "name": "server.address",
              "type": "STRING"
            },
            {
              "name": "server.port",
              "type": "LONG"
            },
            {
              "name": "url.path",
              "type": "STRING"
            },
            {
              "name": "url.query",
              "type": "STRING"
            },
            {
              "name": "url.scheme",
              "type": "STRING"
            },
            {
              "name": "user_agent.original",
              "type": "STRING"
            }
          ],
          "span_kind": "SERVER"
        }
      ],
      "when": "otel.semconv-stability.opt-in=service.peer"
    }
  ]
}