Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New ASP.NET Core Metrics #4468

Open
justindbaur opened this issue Jul 29, 2023 · 4 comments
Open

New ASP.NET Core Metrics #4468

justindbaur opened this issue Jul 29, 2023 · 4 comments
Labels
area:runtime-metrics type:enhancement Improvement to an existing feature

Comments

@justindbaur
Copy link

justindbaur commented Jul 29, 2023

Are you requesting automatic instrumentation for a framework or library? Please describe.

  • Framework or library name : ASP.NET Core
  • Library type: Web Framework
  • Library version: v8.0.0-preview.4+

Is your feature request related to a problem? Please describe.
New/Existing metrics are not being relayed to DataDog that come out of ASP.NET Core. The list of metrics I see produced by them are as follows:

  • Microsoft.AspNetCore.Hosting
    • current-requests: Number of HTTP requests that are currently active on the server.
    • request-duration: The duration of HTTP requests on the server.
  • Microsoft.AspNetCore.Server.Kestral
    • current-connections: Number of connections that are currently active on the server.
    • connection-duration: The duration of connections on the server.
    • rejected-connections: Number of connections rejected by the server. Connections are rejected when the currently active count exceeds the value configured with MaxConcurrentConnections.
    • queued-connections: Number of connections that are currently queued and are waiting to start.
    • queued-requests: Number of HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are currently queued and are waiting to start.
    • current-upgraded-connections: Number of HTTP connections that are currently upgraded (WebSockets). The number only tracks HTTP/1.1 connections.
    • tls-handshake-duration: The duration of TLS handshakes on the server.
    • current-tls-handshakes: Number of TLS handshakes that are currently in progress on the server.
  • Microsoft.AspNetCore.Http.Connections
    • current-connections: Number of connections that are currently active on the server.
    • connection-duration: The duration of connections on the server.
    • current-transports: Number of negotiated transports that are currently active on the server.

Describe the solution you'd like
As far as I can see, there are only mappings for 7 of these. I would love for it to automatically map some of these new ones.

Describe alternatives you've considered
Make it possible to map custom metrics so that they don't just get continueed here. This could be done through an environment variable that takes a string in a similar format to how the dotnet-counter tool parses the --counter argument.

Additional context
Metrics added in this PR.

@andrewlock
Copy link
Member

Hi, we don't have explicit support for .NET 8 yet, and likely won't until it's released in November, but we'll make sure to add support for these metrics. Thanks!

@andrewlock andrewlock added the type:enhancement Improvement to an existing feature label Jul 31, 2023
@justindbaur
Copy link
Author

Hi @andrewlock, thanks for the reply, I sort of figured that was the case, just didn't see any issue tracking the new metrics. Is it possible to track them as custom metrics for people who run previews? Or is there any plans for custom metrics whatsoever?

@Leonardo-Ferreira
Copy link

the collection of those definitely need to be configurable and not enabled by default... the agent is already too heavy in my opinion... I have alpine instances here with the API working on a memoryset of 80MB while the agent is freaking 200MB+

@toftware
Copy link

I don't think the metrics for .NET 7 is relayed either.

Isn't this related to the business model that you need to pay extra for those metrics?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:runtime-metrics type:enhancement Improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

5 participants