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

when ProfilingIntegration is used memory and CPU usage increases significantly #3763

Open
aalirezamoradii opened this issue Nov 17, 2024 · 3 comments

Comments

@aalirezamoradii
Copy link

Package

Sentry.AspNetCore

.NET Flavor

.NET

.NET Version

8.0.0

OS

Linux

SDK Version

4.13.0

Self-Hosted Sentry Version

24.10.0

Steps to Reproduce

in the .Net 8.0 (Microsoft.NET.Sdk.Web) Program.cs

var builder = WebApplication.CreateBuilder(args);
        
builder.WebHost.UseSentry(o =>
{
    o.AddIntegration(new ProfilingIntegration(TimeSpan.FromMilliseconds(500)));
    o.AddEntityFramework();
});

var app = builder.Build();

// other middlewares

app.UseSentryTracing();

// other middlewares

app.Run();

Expected Result

Without using
o.AddIntegration(new ProfilingIntegration(TimeSpan.FromMilliseconds(500)));

Image

Actual Result

After using
o.AddIntegration(new ProfilingIntegration(TimeSpan.FromMilliseconds(500)));

When start:
Image

After 5 minutes:
Image

@jamescrosswell
Copy link
Collaborator

@vaind any ideas?

@vaind
Copy link
Collaborator

vaind commented Nov 19, 2024

Memory: From my previous testing (because it's hard to tell without further details it's anything else): TraceEvent does a lot of temporary allocations on the heap during profiling and even though those do get freed, .net runtime keeps (and grows) the memory excessively as long as there's some available. Maybe you could try configuring GC limits if that's an option.

CPU: what is your configuration (TracesSampleRate and ProfilesSampleRate)? How many transactions are happening per second?

@aalirezamoradii
Copy link
Author

@vaind thank for your response

This is my sentry configuration

  "Sentry": {
    "Dsn": "[email protected]/4",
    "Release": "1.0.0",
    "SendDefaultPii": true,
    "MaxRequestBodySize": "Always",
    "MinimumBreadcrumbLevel": "Debug",
    "MinimumEventLevel": "Warning",
    "AttachStackTrace": true,
    "Debug": false,
    "DiagnosticLevel": "Error",
    "TracesSampleRate": 1.0,
    "ProfilesSampleRate": 0.1
  },

Transactions: 140 TPM in an hour period

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Status: No status
Development

No branches or pull requests

4 participants