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

Assess need to add custom application insights metrics to critical operations #1070

Closed
4 tasks
Tracked by #74
elsand opened this issue Sep 1, 2024 · 2 comments
Closed
4 tasks
Tracked by #74
Assignees
Labels
analysis Pre-architecture/design work monitoring Issue related to logging and monitoring performance Issue related to performance

Comments

@elsand
Copy link
Member

elsand commented Sep 1, 2024

Introduction

In order to track overall performance in Dialogporten, we need to track several metrics

Description

There are several critical operations that we need to measure (time elapsed):

  • Initial request handling including authentication
  • For both list and detail views
    • Building authorization requests (up to and including serialization of HTTP request)
    • Performing authorization requests (up to excluding deserialization of HTTP response)
    • Building Entity Framework requests
    • Performing database queries

Also, time elapsed on refreshing other dependencies should be tracked

  • Resource Registry (both resource list and subjectresources)
  • Events

We also need to measure

  • Number of Fusion cache hits/misses per cache, for both memory and distributed cache (Redis)

Implementation

Much of this might be possible to implement more or less without any code, given that we get correlations properly set up in Application Insights. We also need to make sure Insights sampling settings are appropiate.

We should also probably look into using https://github.com/serilog-tracing/serilog-tracing

Tasks

Preview Give feedback

Threat modelling

Preview Give feedback

Acceptance criteria

GIVEN ...
WHEN ....
THEN ...

GIVEN ...
WHEN ....
THEN ...

@arealmaas
Copy link
Collaborator

arealmaas commented Oct 28, 2024

When we re-add instrumentation for Redis, we have most of these traces already, no custom tracing needed.

Building Entity Framework requests

Maybe we also could consider adding the efcore Open Telemetry instrumentation. We would probably get some good metrics for Entity Framework then https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/main/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/README.md

@arealmaas
Copy link
Collaborator

EFCore added together with fusioncache instrumentation. Let's say we close this for now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analysis Pre-architecture/design work monitoring Issue related to logging and monitoring performance Issue related to performance
Projects
Development

No branches or pull requests

2 participants