• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

data_source_generator (Python API d'agent)

Syntaxe

newrelic.agent.data_source_generator(name=None, **properties)

Encapsule une source de données génératrice de données métriques.

Description

L' API de source de données fournit un moyen de générer des métriques à l'aide d'une API de type pull plutôt que de l' API de type push implémentée par record_custom_metric. Pour en savoir plus sur pourquoi et comment utiliser des sources de données pour les métriques personnalisées, consultez sources de données métriques personnalisées.

Le décorateur data_source_generator est utilisé pour encapsuler une source de données génératrice de données métriques simple qui renvoie directement un itérable/générateur avec les métriques pour chaque échantillon. La fonction à laquelle le décorateur est appliqué ne doit prendre aucun argument. Cela serait utilisé lorsqu'il n'est pas nécessaire de conserver les informations d'état entre les appels pour générer des métriques, et lorsqu'une instance de la source de données peut être utilisée pour plusieurs applications.

Paramètres

paramètres

Description

name

chaîne

Facultatif. Le nom de la source de données. Ceci est utilisé uniquement à des fins de logging. S'il n'est pas fourni, la valeur par défaut est le nom appelable dérivé de la fonction décorée.

properties

dictionnaire

Facultatif. Toutes les propriétés supplémentaires à transmettre à la fabrique de sources de données.

Les champs possibles pour un dictionnaire sont :

  • count
  • total
  • min
  • max
  • sum_of_squares

Valeurs de retour

Renvoie une fonction.

Exemples

Exemple de générateur de source de données

Un exemple d'utilisation de data_source_generator pour encapsuler une fonction qui renvoie des valeurs métriques :

import newrelic.agent
import psutil
import os
@newrelic.agent.data_source_generator(name='Memory_Usage')
def memory_metrics():
pid = os.getpid()
p = psutil.Process(pid)
m = p.memory_info()
yield ('Custom/Memory/Physical', float(m.rss) / (1024 * 1024))
yield ('Custom/Memory/Virtual', float(m.vms) / (1024 * 1024))
@newrelic.agent.background_task()
def main():
# Example code, business as usual
print("Hello, world!")
if __name__ == "__main__":
newrelic.agent.initialize(config_file="newrelic.ini")
app = newrelic.agent.register_application()
newrelic.agent.register_data_source(memory_metrics, app)
main()
Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.