Is your feature request related to a problem? Please describe.
When using Application Insights Java Agent 3.x, the HttpMethod field in the
requests table is always empty. The HTTP method is only available embedded
in the name field (e.g., "GET /api/users").
This is frustrating because:
- KQL queries using
HttpMethod return no results for Java services
- Cross-service queries don't work uniformly (.NET services have HttpMethod, Java doesn't)
- Existing dashboards and alerts that filter by HttpMethod break when adding Java services
- The field exists but is empty, which looks like a bug rather than expected behavior
Describe the solution you would like
Map the OpenTelemetry http.request.method attribute to the legacy HttpMethod
field in Application Insights request telemetry.
This would make Java Agent 3.x consistent with .NET and Node.js SDKs, which
populate this field.
Describe alternatives you have considered
Current workaround is parsing the method from the name field in KQL:
requests
| extend HttpMethod = tostring(split(name, " ")[0])
This works but requires modifying all existing queries, dashboards, and alerts.
It also adds overhead and is error-prone if the name format changes.
Additional context
- Java Agent version: 3.7.7 (and likely all 3.x versions)
- The change to OpenTelemetry semantic conventions (http.method → http.request.method)
happened in Nov 2023, but the HttpMethod field was never mapped
- This affects mixed-language environments where consistent telemetry querying is important
Is your feature request related to a problem? Please describe.
When using Application Insights Java Agent 3.x, the
HttpMethodfield in therequeststable is always empty. The HTTP method is only available embeddedin the
namefield (e.g., "GET /api/users").This is frustrating because:
HttpMethodreturn no results for Java servicesDescribe the solution you would like
Map the OpenTelemetry
http.request.methodattribute to the legacyHttpMethodfield in Application Insights request telemetry.
This would make Java Agent 3.x consistent with .NET and Node.js SDKs, which
populate this field.
Describe alternatives you have considered
Current workaround is parsing the method from the
namefield in KQL:requests
| extend HttpMethod = tostring(split(name, " ")[0])
This works but requires modifying all existing queries, dashboards, and alerts.
It also adds overhead and is error-prone if the name format changes.
Additional context
happened in Nov 2023, but the HttpMethod field was never mapped