Skip to main content

Documentation Olfeo OEM

Métriques

Les métriques du SDK permettent aux clients de collecter des mesures d'utilisation de l'exécution utiles et des domaines inconnus à partager avec Olfeo afin d'améliorer le service fourni.

Au fur et à mesure que la télémétrie est collectée sur chaque instance de Categorizer, elle est agrégée et stockée dans votre base de données Redis, puis envoyée à Olfeo via le service de mise à jour.

Utilisation du "Runtime"

Lorsque vous utilisez le programme de mise à jour de base de données, l'utilisation du SDK à l'exécution est collectée et automatiquement signalée. Cette utilisation inclut exclusivement le nombre de demandes de catégorisation effectuées et leur succès ou non.

Pas de suivi des requêtes

Nous ne collectons pas les requêtes qui ont été effectuées.

Domaines inconnus

Afin de fournir des rapports rapides et automatiques à l'équipe de classification d'Olfeo. Le SDK collecte les domaines interrogés qui étaient absents de la base de

Personnalisation de la collecte des données

Lorsque l'interface suivante est implémentée : gitlab.olfeo.tech/data tools/nexus/sdk/metrics.Recorder, il vous permet de personnaliser (désactiver ou filtrer) les données collectées

type Recorder interface {
  // AddCategorizeCount records the result of a categorization process
  AddCategorizeCount(ctx context.Context, resultStatus ResultStatus, queryType QueryType, outputType OutputType)
  // AddCategoryCount records the category returned, if any, from categorization
  AddCategoryCount(ctx context.Context, categoryId uint32)
  // AddApplicationsCount records the number of application ids returned from a categorization
  AddApplicationsCount(ctx context.Context, applications int)
  // AddUnknownDomain record the unknown domain
  AddUnknownDomain(ctx context.Context, domain string)
}

Une fois qu'il a été défini, vous pouvez fournir une instance de votre implémentation au Categorizer au moment de sa création, comme suit :

import "gitlab.olfeo.tech/data-tools/nexus/sdk/categorize"

type NullRecorder struct {}

func (n NullRecorder) AddCategorizeCount(_ context.Context, __ metrics.ResultStatus, ___ metrics.QueryType, ____ metrics.OutputType) {}

// Implement other methods of metrics.Recorder ...


func createCategorizer() {
    ...
    categorizer, err := categorize.NewCategorizer(db, categorize.WithRecorder(NullRecorder{})
    if err != nil {
        ...
    }

    ...

}