Skip to content

How to profile a class library #676

@AlbertoVPersonal

Description

@AlbertoVPersonal

Current version MiniProfiler

4.3.8

Current version .NET

.NET Core 8.0.4

Expected behaviour

I would like to profile a class library internally.

My class is similar to:

public class StateManagement() : IStateManagement
{
    /// <summary>Sets the state asynchronous.</summary>
    /// <param name="statusKey">The status key.</param>
    /// <param name="statusValue">The status value.</param>
    /// <returns></returns>
    public async Task<bool> SetStateAsync(string statusKey, object statusValue)
    {
        bool result = false;

        try
        {
            // custom code

            result = true;
        }
        catch (Exception stateEx)
        {
            Console.WriteLine(stateEx);
        }

        return result;
    }
    
    //...
}

Workaround

I think that the solution is not the better.

public class StateManagement() : IStateManagement
{
    /// <summary>Sets the state asynchronous.</summary>
    /// <param name="statusKey">The status key.</param>
    /// <param name="statusValue">The status value.</param>
    /// <returns></returns>
    public async Task<bool> SetStateAsync(MiniProfiler profiler, string statusKey, object statusValue)
    {
        bool result = false;

        try
        {
            using (profiler.Step("Bulk op"))
            {
                // custom code
            }
            result = true;
        }
        catch (Exception stateEx)
        {
            Console.WriteLine(stateEx);
        }

        return result;
    }
    
    //...
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions