Delen via


COM+ Tracering

Met de COM+-traceringsservice kunt u uw eigen beheer- en diagnostische programma's bouwen waarmee de status en prestaties van com+-toepassingen worden bijgehouden. COM+ tracering biedt statistische informatie over het gebruik van COM+-toepassingen en statusinformatie, zoals of een COM+-servertoepassingsexemplaar gepauzeerd is of is gerecycled. Hulpprogramma's kunnen traceringsgegevens gebruiken in diagnostische bewaking of voor weergavedoeleinden. Het beheerprogramma Component Services maakt bijvoorbeeld gebruik van COM+-tracering om de status van COM+-toepassingsexemplaren weer te geven in de mappen COM+ Toepassingen en Actieve processen.

COM+-tracering berekent en werkt periodiek een set veelgebruikte metrische gegevens bij, waardoor deze informatie beschikbaar is voor programma's die deze nodig hebben. Het is vergelijkbaar met COM+ Instrumentation omdat beide services automatisch gegevens verzamelen van COM+ toepassingsexemplaren en deze gegevens beschikbaar maken voor consumenten. Er zijn echter enkele belangrijke verschillen tussen deze services, zowel in de aangeboden functionaliteit als het typische gebruik. De volgende tabel bevat een overzicht van deze verschillen.

COM+ Instrumentatie COM+ Tracering
Fijnmazige gegevens. De COM+-instrumentatieservice meldt aan geregistreerde abonnees van discrete gebeurtenissen (bijvoorbeeld methode aangeroepen, object vernietigd) die voorkomen in een COM+-toepassingsexemplaar.
Geaggregeerde gegevens. COM+ tracking berekent en werkt regelmatig veelgebruikte metrische gegevens bij voor de status en prestaties van COM+ toepassingsexemplaren.
Gebeurtenisabonnees berekenen doorgaans zelf metrische gegevens, met behulp van ad-hocalgoritmen en -beleidsregels.
Metrische gegevens worden automatisch berekend door de COM+-traceringsservice. Alle consumenten krijgen dezelfde gegevens, zonder ondersteuning voor aangepaste metrische gegevens.
Nadat een abonnement is geregistreerd, ontvangt de consument pas informatie over een exemplaar van een COM+-toepassing wanneer er een gebeurtenis plaatsvindt.
Trackinggegevens voor alle COM+-toepassingsinstanties kunnen op elk gewenst moment worden opgehaald.
Ondersteunt alleen een op COM+ gebeurtenissen gebaseerd abonnementsmechanisme voor consumenten.
Ondersteunt zowel een op COM+ gebeurtenissen gebaseerd abonnementsmechanisme als polling op een lokale COM-serverinterface.
Voorbeelden
Meldingen wanneer een methode wordt aangeroepen of geretourneerd.
Gemiddelde reactietijd van aanroep, aantal methode-aanroepen dat is geslaagd of mislukt in een recente periode, het aantal objecten dat zich momenteel in een methode-aanroep bevindt.
Meldingen wanneer een object wordt toegevoegd aan of verkregen uit de objectgroep.
Het aantal objecten in de pool, het totale aantal objecten.
Meldingen wanneer een COM+-servertoepassing wordt gestart, onderbroken of gerecycled.
Status van het COM+-servertoepassingsproces (bijvoorbeeld of deze is onderbroken of gerecycled).
Meldingen over het starten van transacties, het voorbereiden, afbreken en doorvoeren van gebeurtenissen.
Geen equivalent.
Meldingen van geslaagde en mislukte verificatiepogingen op aanroepniveau.
Geen equivalent.

Hoewel COM+ tracking beperkter is in termen van gegevensbereik en flexibiliteit voor het berekenen van metrische gegevens, moeten de metrische gegevens die worden geboden voldoende zijn voor een groot aantal beheer- en diagnostische programma's. Het gebruik van COM+ tracering kan, indien mogelijk, het ontwerp van deze programma's vereenvoudigen. Daarnaast kan het gebruik van COM+-tracering in productiesystemen een aanzienlijk lagere invloed hebben op de prestaties, waardoor het beter geschikt is voor realtime bewakingshulpprogramma's.

Hoe COM+ Tracking gegevens verzamelt

Wanneer een COM+-servertoepassingsproces wordt gestart, registreert COM+ het proces bij de tracker-server, een onderdeel van de systeemtoepassing. Onderdelen in COM+-bibliotheektoepassingen en -services zonder onderdelencontexten (SWC) bieden ook ondersteuning voor het bijhouden van gegevens. Wanneer een bibliotheekonderdeel of SWC-context wordt gemaakt in een proces, registreert COM+ het proces bij de trackerserver als deze nog niet is geregistreerd.

COM+ werkt statistieken bij voor een bijgehouden proces wanneer bepaalde gebeurtenissen in het proces plaatsvinden, zoals het maken van een object of het voltooien van een methodeaanroep. Bijgewerkte gegevens worden periodiek verzonden naar de tracker-server, waarna deze beschikbaar worden voor consumenten. De tracker-server is ook verantwoordelijk voor het berekenen van enkele metrische gegevens die worden gebruikt door de COM+-toepassing recycling- en vastloopbewakingsfuncties. Deze gegevens zijn ook beschikbaar voor consumenten.

Traceringsgegevens worden geordend volgens het proces dat de gegevens heeft gegenereerd. Gegevens op het niveau van afzonderlijke COM+-toepassingen of -onderdelen in het proces zijn ook beschikbaar voor consumenten die deze informatie nodig hebben.

Gebeurtenissen versus peilingen

COM+ tracking ondersteunt twee mechanismen voor een consument om traceringsgegevens te verkrijgen van de trackerserver, een com+-abonnementsmechanisme op basis van gebeurtenissen en een com-lokale serverinterface.

Programma's die periodiek moeten worden gewaarschuwd met bijgewerkte volggegevens, kunnen een abonnement registreren voor de IComTrackingInfoEvents eventinterface. Ongeveer om de drie seconden roept de trackerserver de methode IComTrackingInfoEvents::OnNewTrackingInfo van elke abonnee aan en verzendt de meest recente traceringsgegevens in de vorm van een verzamelingsobject. Met dit object wordt de interface IComTrackingInfoCollection geïmplementeerd. Abonnees kunnen door deze verzameling navigeren om de gegevens te vinden waarin ze geïnteresseerd zijn.

Om verschillende redenen kan het zinvoler zijn voor een programma om de trackerserver voor gegevens te peilen. Een bewakingsprogramma kan bijvoorbeeld veel minder vaak updates nodig hebben dan een programma dat de status in een gebruikersinterface weergeeft. Bovendien kan een programma slechts een klein deel van de traceringsgegevens gebruiken die beschikbaar zijn voor het systeem (een hulpprogramma kan bijvoorbeeld alleen de prestaties van exemplaren van één COM+-toepassing bewaken). Het abonnementsmodel verzendt elke abonnee de traceringsgegevens voor alle COM+-toepassingen in elke melding en het is de verantwoordelijkheid van de abonnee om de gewenste gegevens te vinden. Ten slotte is COM+-gebeurtenissen een mechanisme voor het melden van gebeurtenissen met de beste inspanning. Betrouwbare berichtenbezorgingsservices worden niet geleverd en er is geen manier voor een abonnee om te detecteren dat de tracker-server geen melding heeft verzonden.

Een programma dat meer controle nodig heeft over het ophalen van traceringsgegevens, kan gebruikmaken van de IGetAppTrackerData interface van de trackerserver.