Measure Your Application’s Performance in .NET

Поделиться
HTML-код
  • Опубликовано: 30 ноя 2024

Комментарии • 53

  • @ikenwakochukwudi9395
    @ikenwakochukwudi9395 11 месяцев назад +70

    Nick, you already owe us a video on building visualisation dashboards with grafana.
    I guess this is the call to action you need 😂

    • @SixOThree
      @SixOThree 10 месяцев назад

      I could absolutely use a few good pointers.

  • @dave7038
    @dave7038 11 месяцев назад +4

    I like this, but I'm not clear on how it works for a production deployment. Where are the metrics stored, how does the data get there, how can I monitor multiple installations (like if my suite of apps is installed at 100 different unrelated clients how do I centralize monitoring so I can see performance for all of my customers, etc.), is this chained to cloud deployments (most of my clients host my app suite on-prem with VMs), etc.
    Essentially, Aspire looks interesting, but it's not yet clear to me how to approach it.

  • @maar0en
    @maar0en 11 месяцев назад +7

    I would be interested in a video explaining how to visualize a histogram in Kibana or grafana using opentelemetry data, this feels to be quite a challenge.

  • @MaThMaTa1000
    @MaThMaTa1000 11 месяцев назад +2

    It's very easy from this video to export the metrics to Prometheus and visualise them in Grafana. It's a video asking to be made

  • @igorsolomatov4743
    @igorsolomatov4743 11 месяцев назад +2

    You could use the same disposable pattern in counter (increase in dispose function). And now your code will be clearer without try-finally.

  • @douglashampshire6845
    @douglashampshire6845 11 месяцев назад +9

    For Azure users it might be nice to show Application Insite Intergration

    • @Otto-the-Autopilot
      @Otto-the-Autopilot 10 месяцев назад

      Probably not going to happen as Nick is sponsored by Amazon afaik.

  • @MarkCastle
    @MarkCastle 11 месяцев назад +1

    Would love to see alternatives to aspire for this

  • @Thorarin
    @Thorarin 11 месяцев назад

    I'm not yet using this API, but I've been using the AppMetrics NuGet packages which are very similar. I'm using it to measure the performance of some background processes and then using those numbers in the application's health checks to have some alarm bells go off in case of degraded performance.

  • @passionforsciencel5180
    @passionforsciencel5180 11 месяцев назад +3

    Waiting for empty builder benchmark 😄 , Good Luck ❤

  • @ssushovan
    @ssushovan 11 месяцев назад

    Please make a video on opentelemetry & grafana.

  • @prattipatileelakrishna2758
    @prattipatileelakrishna2758 11 месяцев назад

    I would be interested in a video about transactions, concurrency and locks

  • @jonathandaugaard4990
    @jonathandaugaard4990 11 месяцев назад

    Great video!
    You are creating a new IDisposable object for the histogram. When will it be a memory performance issue and how can it be handled?
    Comparing this to your videos of logging and incorrect using of string interpolation

  • @Yupmoh
    @Yupmoh 11 месяцев назад +2

    Loving your videos Nick! This is great!

  • @garcipat
    @garcipat 11 месяцев назад

    Does open telemtry allows store the values in certain services?

  • @inzyster
    @inzyster 11 месяцев назад

    My man just explained in a few minutes what I was struggling to get out of coworkers with otel experience for yonks 😅

  • @h.m.6228
    @h.m.6228 11 месяцев назад +1

    You're corret. But that's so nice.
    Merry Christmas! 🎄⛄❄️

  • @baranacikgoz
    @baranacikgoz 11 месяцев назад

    Can you make more videos about opentelemetry and grafana

  • @TrueTaladan
    @TrueTaladan 11 месяцев назад

    Thanks for your great videos. Can you perhaps also make one with Keyvault and database in connection with Aspire?

  • @alexxeken
    @alexxeken 11 месяцев назад +1

    I think this ie really neat. But if you restart the application it will be kinda "faulty" data. I release 5-20 times a day on my microservices and want to know over a longer time period. Guess this is nothing for me then =/

  • @axelgenus
    @axelgenus 11 месяцев назад +1

    Would it be possible to implement the request duration as a middleware and group them by route?

  • @wizandoz
    @wizandoz 11 месяцев назад

    Where is that metric data stored exactly?

  • @michalidzikowski5239
    @michalidzikowski5239 10 месяцев назад

    Why try/finally instead of doing it as first line? You will have on-the-fly requests in metric, but no try{} block inserted...

  • @TheSaintsVEVO
    @TheSaintsVEVO 11 месяцев назад

    The link isn’t in the description

  • @LC12345
    @LC12345 11 месяцев назад

    I cannot unhear the intro as “Hello everybody, I’m naked…”

  • @amnesia3490
    @amnesia3490 11 месяцев назад

    can't be sure if this built-in metric factory can replace prometheus-net's in-memory metric exporter or can be used together

  • @JonathanPeel
    @JonathanPeel 11 месяцев назад

    Quick question, is there ever a chance that (even if not now, but maybe by the time we have .Net 9), the running code will try optimizing itself.
    If it is waiting for the request, and it knows the discarded var is never used below, it might want to GC or Dispose is early.
    Is there a way to know the lifetime of the disposed method will always be the full runtime of the method?

    • @LeMustache
      @LeMustache 11 месяцев назад

      That behaviour is guaranteed to stay how it is. The point of IDisposable is to provide a deterministic point when your resources, whatever they may be, get disposed of.
      Introducing any "optimizationa" like that would defeat the point of Dispose since it'd no longer be deterministic. Not to mention it'd be a giant breaking change, which Microsoft generally avoids.

  • @youraveragedude8767
    @youraveragedude8767 11 месяцев назад +23

    The typo in the thumbnail 😭

    • @OnurBuyukcaglar
      @OnurBuyukcaglar 11 месяцев назад +1

      I want to think, that it is intentional. :)

    • @nickchapsas
      @nickchapsas  11 месяцев назад +13

      It’s 100% intentional (it’s not 🥲)

    • @AvenDonn
      @AvenDonn 11 месяцев назад

      Just pretend it's for engagement baiting Nick

    • @youraveragedude8767
      @youraveragedude8767 11 месяцев назад

      @@IIARROWS he fixed it

  • @R0ckyRocket
    @R0ckyRocket 11 месяцев назад

    what about using appMetrices nuget package

  • @ShoaibQureshi-w3q
    @ShoaibQureshi-w3q 2 месяца назад

    is this code available in git ?

  • @benjamininkorea7016
    @benjamininkorea7016 11 месяцев назад +1

    Check spelling in your thumbnail, though: "Corretly." :)

  • @szynkie6710
    @szynkie6710 11 месяцев назад

    Can we do sth like this counter for all endpoints we have in the API? (Without adding code to each)

    • @nickchapsas
      @nickchapsas  11 месяцев назад +2

      Yes you can do that with middleware

  • @DanStpTech
    @DanStpTech 11 месяцев назад

    This new feature is very interesting! But, maybe it's me who doesn't understand well, is it weird to write code to have metrics that will be deployed in production?

    • @gileee
      @gileee 7 месяцев назад

      You need metrics more in production than dev. In dev you can just debug.
      But in a production environment you'd send these metrics, together with logs, to a single aggregate (most use Grafana) for storage. And then use (again most use Prometheus) to explore and visualize that data, for all your apps, in a single web interface.

  • @dasdotnet1
    @dasdotnet1 11 месяцев назад

    Cab you pls share the source Code link.

  • @phantomrt777
    @phantomrt777 11 месяцев назад

    Hello, can we calculate requests by user IP, header etc. Instead of total requests? So we can see how many requests per api user and by method based?Also , use it for distributed rate limiter. İnstead of using redis? Because current rate limiter does not allow distributed limitting.

    • @EdubSi
      @EdubSi 11 месяцев назад

      Distributed rate limiting is a different beast to tame. You gotta track the requests overall (over many servers) which is a different concern and has other requirements then collecting and visualizing metrics.

    • @phantomrt777
      @phantomrt777 10 месяцев назад

      @@EdubSi I mean asyncronus rate limiting with that endpoint consumpiton data.

  • @TheSimRacers
    @TheSimRacers 11 месяцев назад

    Hello everybody, I’m naked and today I’m going to show you….😂 cracked me up had to replay it to see if you actually said it this time 😅

  • @Artmageddon
    @Artmageddon 11 месяцев назад +1

    I've been waiting for something like for this a long time, can't wait to try it! Also, Merry Christmas!

  • @eyu6652
    @eyu6652 11 месяцев назад

    I need help Nick. I'm working on this large project and the build times are debilitating. How can I debug/reduce build times?

  • @MatinDevs
    @MatinDevs 11 месяцев назад +1

    Aspire will change the game for .NET

  • @Yupmoh
    @Yupmoh 11 месяцев назад +1

    First!

  • @rankarat
    @rankarat 11 месяцев назад

    Great!