Megosztás a következőn keresztül:


Szolgáltatások monitorozása és diagnosztizálása egy helyi gép fejlesztési beállításánál

A monitorozás, az észlelés, a diagnosztizálás és a hibaelhárítás lehetővé teszi, hogy a szolgáltatások minimálisan zavarják a felhasználói élményt. Bár a monitorozás és a diagnosztikák kritikus fontosságúak a tényleges üzembe helyezett éles környezetben, a hatékonyság egy hasonló modell bevezetésétől függ a szolgáltatások fejlesztése során annak biztosítása érdekében, hogy azok működjenek a valós környezetbe való áttéréskor. A Service Fabric megkönnyíti a szolgáltatásfejlesztők számára a diagnosztikát, amely zökkenőmentesen működik az egygépes helyi fejlesztési beállítások és a valós éles fürtbeállításai között is.

Eseménykövetés a Windowshoz

A Windows eseménykövetése (ETW) a Service Fabric üzenetkövetési technológiája. Az ETW használatának néhány előnye:

  • Az ETW gyors. Nyomkövetési technológiaként készült, amely minimális hatással van a kódvégrehajtási időkre.
  • Az ETW-nyomkövetés zökkenőmentesen működik a helyi fejlesztési környezetekben és a valós fürtbeállításokban is. Ez azt jelenti, hogy nem kell újraírnia a nyomkövetési kódot, ha készen áll a kód valós fürtön való üzembe helyezésére.
  • A Service Fabric rendszerkódja az ETW-t is használja a belső nyomkövetéshez. Ez lehetővé teszi, hogy az alkalmazás nyomkövetéseit a Service Fabric rendszer nyomkövetéseivel együtt tekintse meg. Emellett segít könnyebben megérteni az alkalmazáskód és az alapul szolgáló rendszer eseményei közötti szekvenciákat és összefüggéseket.
  • A Service Fabric Visual Studio-eszközök beépített támogatást nyújtanak az ETW-események megtekintéséhez. Az ETW-események akkor jelennek meg a Visual Studio Diagnosztikai események nézetében, ha a Visual Studio megfelelően konfigurálva van a Service Fabricdel.

Service Fabric-rendszeresemények megtekintése a Visual Studióban

A Service Fabric ETW-eseményeket bocsát ki, amelyek segítenek az alkalmazásfejlesztőknek megérteni a platformon zajló eseményeket. Ha még nem tette meg, kövesse az első alkalmazás Létrehozása a Visual Studióban című cikk lépéseit. Ezek az információk segítenek abban, hogy az alkalmazás a nyomkövetési üzeneteket megjelenítő Diagnosztikai események megjelenítőjével működjön.

  1. Ha a diagnosztikai események ablaka nem jelenik meg automatikusan, lépjen a Visual Studio Nézet lapjára, válassza az Egyéb Windows , majd a Diagnosztikai események megjelenítője lehetőséget.

  2. Minden esemény szabványos metaadat-információkkal rendelkezik, amelyekből megtudhatja, hogy az esemény mely csomópontból, alkalmazásból és szolgáltatásból származik. Az események listáját az eseményablak tetején található Események szűrése mezővel is szűrheti. Szűrhet például csomópontnévre vagy szolgáltatásnévre. Az esemény részleteinek megtekintésekor az eseményablak tetején található Szüneteltetés gombbal is szüneteltetheti a szüneteltetéseket, és később folytathatja az események elvesztését.

    Visual Studio Diagnostics Events Viewer

Saját egyéni nyomkövetések hozzáadása az alkalmazáskódhoz

A Service Fabric Visual Studio-projektsablonok mintakódot tartalmaznak. A kód bemutatja, hogyan adhat hozzá egyéni alkalmazáskód ETW-nyomkövetéseket, amelyek megjelennek a Visual Studio ETW-megjelenítőben a Service Fabric rendszerkövetői mellett. Ennek a módszernek az az előnye, hogy a rendszer automatikusan hozzáadja a metaadatokat a nyomkövetésekhez, és a Visual Studio diagnosztikai események megjelenítője már konfigurálva van a megjelenítésükre.

A szolgáltatássablonokból (állapot nélküli vagy állapotalapú) létrehozott projektekhez egyszerűen keresse meg a megvalósítástRunAsync:

  1. A metódusban a ServiceEventSource.Current.ServiceMessage RunAsync hívás az alkalmazás kódjából származó egyéni ETW-nyomkövetésre mutat példát.
  2. A ServiceEventSource.cs fájlban túlterhelést fog találni a ServiceEventSource.ServiceMessage metódushoz, amelyet teljesítménybeli okok miatt nagy gyakoriságú eseményekhez kell használni.

A színészsablonokból (állapot nélküli vagy állapotalapú) létrehozott projektek esetén:

  1. Nyissa meg a "ProjectName" .cs fájlt, amelyben a ProjectName a Visual Studio-projekthez választott név.
  2. Keresse meg a kódot ActorEventSource.Current.ActorMessage(this, "Doing Work"); a DoWorkAsync metódusban. Ez egy példa egy alkalmazáskódból írt egyéni ETW-nyomkövetésre.
  3. A fájl ActorEventSource.cs a metódus túlterhelését ActorEventSource.ActorMessage fogja tapasztalni, amelyet teljesítménybeli okok miatt nagy gyakoriságú eseményekhez kell használni.

Miután hozzáadta az egyéni ETW-nyomkövetést a szolgáltatáskódhoz, újra létrehozhatja, üzembe helyezheti és futtathatja az alkalmazást, hogy láthassa az esemény(ek)et a Diagnosztikai események megjelenítőjében. Ha az alkalmazást F5-ben hibakereséssel nyitja meg, a diagnosztikai események megjelenítője automatikusan megnyílik.

Következő lépések

Ugyanaz a nyomkövetési kód, amelyet a fenti alkalmazáshoz adott a helyi diagnosztikához, olyan eszközökkel fog működni, amelyekkel megtekintheti ezeket az eseményeket az alkalmazás Azure-fürtön való futtatásakor. Tekintse meg ezeket a cikkeket, amelyek az eszközök különböző lehetőségeit ismertetik, és ismertetik, hogyan állíthatja be őket.