abpframework / abpframework/abp

Introduce ABP Diagnostics Module

Open
#15,932 4 comments 10 reactions 1 assignee View on GitHub

@hikalkan is already working on this.

Since Mar 13, 2023.

feature
Dominant language
C#
Stars
14.4k
Forks
3.7k
Avg merge
15h 32m
Merged PRs (30d)
106

Description

Describe the solution you'd like

An ideal solution would be to use a new Volo.Abp.Diagnostics module like:

[DependsOn(typeof(AbpDiagnosticsModule))]
// Or even
[DependsOn(typeof(AbpDiagnosticsOpenTelemetryModule))]

this should register interceptors for diagnostics.

Then in any class

[Diagnostics]
public class Worker : ITransientDependency
{
    [Diagnostics("Doing work")]
    public async Task DoWork()
    {
        // code
    }
}

this should intercept this method and start an Activity with the name Worker : Doing work

And if AbpDiagnosticsOpenTelemetryModule is used, then send tracing information to the OpenTelemetry Collector

Additional context

Diagnostics is a critical concept in shipping a product.
Diagnostics can help to analyze and fix applications' performance issues.

I have already implemented it for use in our company and can contribute to it by creating a PR.

Here is an example of what you get:
image
image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.