Målinger af indlæsning af indhold i buffer på Mac

Indlæsning af indhold i buffer gemmer målinger i følgende mappe:

/Library/Application Support/Apple/AssetCache/Metrics.

Målingerne flyttes ikke sammen med bufferindholdet. De gemmes altid på denne placering. Hvis du f.eks. flytter bufferen fra:

/Library/Application Support/Apple/AssetCache/Data

til

/Volumes/Data/Library/Application Support/Apple/AssetCache/Data

vil målingerne stadig være lagret i

/Bibliotek/Application Support/Apple/AssetCache/Målinger

Hvis der nogensinde før er brugt indlæsning af indhold i buffer på en Mac, indeholder mappen et arkiv med navnet Metrics.db, og den kan også indeholde et eller flere andre arkiver med lignende navne. Disse arkiver udgør en SQLite-database, som du kan læse.

Den CoreData-objektmodel, der beskriver målingerne, er tilgængelig som enheden “Metric” i /usr/libexec/AssetCache/AssetCache.momd.

Bemærk: Selvom dette er en beskrivelse af version 7-modellen her, kan Apple uden varsel ændre denne model eller bruge en anden database end SQLite i fremtidige versioner af macOS. Hvis det sker, er der brug for at opdatere eventuelle instrukser, du har konfigureret for at samle data til indlæsning af indhold i buffer.

Indholdsbufferen:

  • Føjer en ny række til databasen hvert minut, når den er aktiv

  • Tilføjer ikke ”all zero”-rækker, når den er passiv – denne type rækker springes over

  • Ændrer ikke eksisterende rækker

  • Sletter rækker, der er mere end 30 dage gamle

Tip: Du kan ændre rapporteringsperioden fra 60 sekunder ved at ændre den avancerede indstilling MetricsInterval, og du kan ændre den maksimale alder på lagrede rækker fra 30 dage ved at ændre den avancerede indstilling MetricsMaxAge.

Hver række i databasen indeholder følgende kolonner. Hvert objekt er valgfrit undtagen creationDate.

Objekt

Beskrivelse

bytesDropped

Den mængde data, indholdsbufferen har hentet i rapporteringsperioden, men ikke kunne føje til sin buffer.

bytesFromCacheToChild

Den mængde data, indholdsbufferen har leveret fra sin buffer til underordnede indholdsbuffere i rapporteringsperioden.

bytesFromCacheToClient

Den mængde data, indholdsbufferen har leveret fra sin buffer til Apple-klientenheder i rapporteringsperioden.

bytesFromCacheToPeer

Den mængde data, indholdsbufferen har leveret fra sin buffer til peer-indholdsbuffere i rapporteringsperioden.

bytesFromOriginToChild

Den mængde data, indholdsbufferen har hentet via internettet og leveret til underordnede indholdsbuffere i rapporteringsperioden.

bytesFromOriginToClient

Den mængde data, indholdsbufferen har hentet via internettet og leveret til Apple-klientenheder i rapporteringsperioden.

bytesFromOriginToPeer

Den mængde data, indholdsbufferen har hentet via internettet og leveret til peer-indholdsbuffere i rapporteringsperioden.

bytesFromParentToChild

Den mængde data, indholdsbufferen har hentet fra overordnede indholdsbuffere og leveret til underordnede indholdsbuffere i rapporteringsperioden.

bytesFromParentToClient

Den mængde data, indholdsbufferen har hentet fra overordnede indholdsbuffere og leveret til Apple-klientenheder i rapporteringsperioden.

bytesFromParentToPeer

Den mængde data, indholdsbufferen har hentet fra overordnede indholdsbuffere og leveret til underordnede indholdsbuffere i rapporteringsperioden.

bytesFromPeerToChild

Den mængde data, indholdsbufferen har modtaget fra peer-indholdsbuffere og leveret til underordnede indholdsbuffere i rapporteringsperioden.

bytesFromPeerToClient

Den mængde data, indholdsbufferen har modtaget fra peer-indholdsbuffere og leveret til Apple-klientenheder i rapporteringsperioden.

bytesImportedByHTTP

Den mængde data, indholdsbufferen har modtaget over HTTP i rapporteringsperioden.

bytesImportedByXPC

Den mængde data, indholdsbufferen har modtaget over XPC i rapporteringsperioden.

bytesPurgedTotal

Den mængde data, indholdsbufferen har slettet fra sin buffer i rapporteringsperioden. Omfatter bytesPurgedYoungerThan30Days.

bytesPurgedYoungerThan1Day

Den mængde data, indholdsbufferen har slettet fra sin buffer i rapporteringsperioden, og som er føjet til bufferen for mindre end en dag siden.

bytesPurgedYoungerThan30Days

Den mængde data, indholdsbufferen har slettet fra sin buffer i rapporteringsperioden, og som er føjet til bufferen for mindre end 30 dage siden. Omfatter bytesPurgedYoungerThan7Days.

bytesPurgedYoungerThan7Days

Den mængde data, indholdsbufferen har slettet fra sin buffer i rapporteringsperioden, og som er føjet til bufferen for mindre end syv dage siden. Omfatter bytesPurgedYoungerThan1Day.

creationDate

Den dato, hvor målingsobjektet blev indsamlet. Målingsemnet beskriver indholdsbufferens præstation i den periode, der slutter på creationDate.

importsByHTTP

Det antal anmodninger om overførsel, indholdsbufferen har modtaget via HTTP i rapporteringsperioden.

importsByXPC

Det antal anmodninger om overførsel, indholdsbufferen har modtaget via XPC i rapporteringsperioden.

period

Varighed – i sekunder – af rapporteringsperioden, der slutter på creationDate.

repliesFromCacheToChild

Det antal svar, indholdsbufferen har leveret fra sin buffer til underordnede indholdsbuffere i rapporteringsperioden.

repliesFromCacheToClient

Det antal svar, indholdsbufferen har leveret fra sin buffer til Apple-klientenheder i rapporteringsperioden.

repliesFromCacheToPeer

Det antal svar, indholdsbufferen har leveret fra sin buffer til peer-indholdsbuffere i rapporteringsperioden.

repliesFromOriginToChild

Det antal svar, indholdsbufferen har hentet via internettet og leveret til underordnede indholdsbuffere i rapporteringsperioden.

repliesFromOriginToClient

Det antal svar, indholdsbufferen har hentet via internettet og leveret til Apple-klientenheder i rapporteringsperioden.

repliesFromOriginToPeer

Det antal svar, indholdsbufferen har hentet via internettet og leveret til peer-indholdsbuffere i rapporteringsperioden.

repliesFromParentToChild

Det antal svar, indholdsbufferen har hentet fra overordnede indholdsbuffere og leveret til underordnede indholdsbuffere i rapporteringsperioden.

repliesFromParentToClient

Det antal svar, indholdsbufferen har hentet fra overordnede indholdsbuffere og leveret til Apple-klientenheder i rapporteringsperioden.

repliesFromParentToPeer

Det antal svar, indholdsbufferen har hentet fra overordnede indholdsbuffere og leveret til peer-indholdsbuffere i rapporteringsperioden.

repliesFromPeerToChild

Det antal svar, indholdsbufferen har modtaget fra peer-indholdsbuffere og leveret til underordnede indholdsbuffere i rapporteringsperioden.

repliesFromPeerToClient

Det antal svar, indholdsbufferen har modtaget fra peer-indholdsbuffere og leveret til Apple-klientenheder i rapporteringsperioden.

requestsFromChild

Det antal anmodninger om hentning, indholdsbufferen har modtaget fra underordnede indholdsbuffere i rapporteringsperioden.

requestsFromClient

Det antal anmodninger om hentning, indholdsbufferen har modtaget fra Apple-klientenheder i rapporteringsperioden.

requestsFromPeer

Det antal anmodninger om hentning, indholdsbufferen har modtaget fra peer-indholdsbuffere i rapporteringsperioden.

requestsRejectedForNoSpace

Det antal anmodninger om hentning, indholdsbufferen har afvist i rapporteringsperioden på grund af højt buffertryk (med HTTP-svarkode 503, Tjeneste utilgængelig).

Grupper resultater

Det kan være nyttigt at gruppere nogle af ovenstående emner. Her er nogle forslag. Alt indhold er baseret på heltal.

Indhold

Grupperede objekter

Beskrivelse

Byte leveret fra buffer

Sum af bytesFromCacheTo*

Den mængde data, indholdsbufferen har leveret fra sin buffer i rapporteringsperioden. Jo tættere denne værdi er på værdien af Byte leveret, desto mere hjælper indholdsbufferen.

Byte leveret fra overordnet

Sum af bytesFromParentTo*

Den mængde data, indholdsbufferen har hentet fra sine overordnede indholdsbuffere i rapporteringsperioden.

Byte leveret fra peer

Sum af bytesFromPeerTo*

Den mængde data, indholdsbufferen har hentet fra sine peer-indholdsbuffere i rapporteringsperioden.

Byte leveret fra udgangspunkt

Sum af bytesFromOriginTo*

Den mængde data, indholdsbufferen har hentet via internettet i rapporteringsperioden.

Byte leveret til klient

Sum af bytesFrom*ToClient

Den mængde data, indholdsbufferen har leveret til Apple-klientenheder i rapporteringsperioden.

Byte leveret til peer

Sum af bytesFrom*ToPeer

Den mængde data, indholdsbufferen har leveret til sine peer-indholdsbuffere i rapporteringsperioden.

Byte leveret til underordnet

Sum af bytesFrom*ToChild

Den mængde data, indholdsbufferen har leveret til sine underordnede indholdsbuffere i rapporteringsperioden.

Byte overført

Sum af bytesImportedBy*

Den mængde data, der er overført via indholdsbufferen i rapporteringsperioden.

Hentede byte

bytesFrom

<Udgangspunkt,Overordnet,Peer>To

Den mængde data, indholdsbufferen har hentet enten via internettet eller fra peers eller overordnede i rapporteringsperioden.

Leverede byte

Den samlede mængde data, indholdsbufferen har leveret i rapporteringsperioden. Når denne værdi ikke er nul, virker indholdsbufferen.

Sum af bytesFrom*To*

Hent data om buffertryk

Du kan se, i hvor grad indholdsbufferen havde behov for mere lagringsplads i rapporteringsperioden. Lavere buffertryk er bedre.

Aktivitetsovervågning beregner buffertrykket sådan:

  • 100 %, når requestsRejectedForNoSpace > 0

  • 80 %, når bytesPurgedYoungerThan1Day > 0

  • 60 %, når bytesPurgedYoungerThan7Days > 0

  • 40 %, når bytesPurgedYoungerThan30Days > 0

  • 20 %, når bytesPurgedTotal > 0

  • Ellers 0 %

Aktivitetsovervågning samordner også ovenstående emner på følgende måde for f.eks. at kunne beregne værdier over et tidsinterval, som er længere end en periode.

  • Antal byte, antal importer, antal anmodninger eller antal svar lægges sammen over tidsintervallet.

  • For buffertryk beregnes maksimum over tidsintervallet.

Eksempelkode til læsning af målingsdatabase

#import <Foundation/Foundation.h>#import <CoreData/CoreData.h>void readMetricsSinceDate(NSDate *date){NSURL *modelURL = [NSURL fileURLWithPath:@"/usr/libexec/AssetCache/AssetCache.momd"];NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];if (model == nil) {// handle the error }NSPersistentStoreCoordinator *coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];NSURL *databaseURL = [NSURL fileURLWithPath:@"/Library/Application Support/Apple/AssetCache/Metrics/Metrics.db"];NSError *storeError = nil;NSPersistentStore *store = [coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:databaseURL options:@{ NSReadOnlyPersistentStoreOption: @YES } error:&storeError];if (store == nil) {// handle the error }NSManagedObjectContext *context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];context.persistentStoreCoordinator = coordinator;NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Metric"];request.predicate = [NSPredicate predicateWithFormat:@"%K > %@", @"creationDate", date];request.sortDescriptors = @[ [NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES] ];NSError *fetchError = nil;NSArray *results = [context executeFetchRequest:request error:&fetchError];if (results == nil) {// handle the error }for (NSManagedObject *result in results) {NSNumber *bytesDropped = [result valueForKey:@"bytesDropped"];// ...NSNumber *requestsRejectedForNoSpace = [result valueForKey:@"requestsRejectedForNoSpace"];// use the values }}
Publiceringsdato: 27. oktober 2021
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Nyttig?
Maks. antal tegn: 250
Maks. antal tegn er 250.
Tak for din feedback.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.