Skip to main content

Scans the resif data repository and compute metrics. Sends the result in influxdb or postgres

Project description

resif data reporter

Cet outil collecte sur un ou plusieurs espaces disques en structure SDS l'espace occupé par les réseaux sismo.

À propos

Collecte des volumes

Les données sont dans un ou plusieurs dossier(s) contenant un sous-dossier par année et pour chaque année, un dossier par réseau.

Dans le rapport final, on souhaite distinguer les réseaux permanents des expériences temporaires.

Les données collectées sont écrites en YAML dans un fichier cache.

Les données sont ensuite écrites dans une base postgres.

Configuration

Le script de collecte a besoin d'un fichier de configuration. Le fichier config.yml.example fournit toute la documentation nécessaire pour un paramétrage initial.

Par défaut, le script collecte les données (en faisant des du), les compile et les écrit dans le fichier data.yaml.

Si les données contenues dans data.yaml ne sont pas plus anciennes que ce que spécifie la configuration data_cache_ttl (en jour), alors le script scanne le fichier data.json pour le restituer et n'effectue pas le scan des volumes.

Postgres

Quelle config sur le serveur postgres ? Quelle base et quelles tables créer ?

CREATE TYPE sismo_data_type AS ENUM('bud', 'validated')
CREATE TABLE dataholdings (network varchar(2),
                          year varchar(4),
                          station varchar(5),
                          channel varchar(3),
                          quality varchar(1),
                          type sismo_data_type,
                          size bigint,
                          is_permanent boolean,
                          date date);

Tester

Lancer des tests unitaires

pip install -e .
pytest

Lancer un docker postgres

docker pull postgres
docker run --name pg -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres

Configuration

Un fichier de Configuration pour les tests :

    volumes:
      - path: /tmp/pytest-of-schaeffj/pytest-22/validated/
        type: validated
      - path: /tmp/pytest-of-schaeffj/pytest-22/bud
        type: bud
    postgres:
      host: localhost
      database: stats
      port: 5432
      user: postgres
      password: mysecretpassword

    metadata:    # Information about the gathered data. Used to tag the timeserie values
      permanent_networks: #  List all permanent networks here. Otherwise, they will be considered as temporary
        - CL
        - GL
        - MQ
        - ND
        - PF
        - RD
        - FR
        - G
        - RA
        - WI

Tester le programme complet :

python resif_data_reporter.py --config config.yml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resifdatareporter-0.21.0.linux-x86_64.tar.gz (5.8 kB view details)

Uploaded Source

File details

Details for the file resifdatareporter-0.21.0.linux-x86_64.tar.gz.

File metadata

  • Download URL: resifdatareporter-0.21.0.linux-x86_64.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.8.5

File hashes

Hashes for resifdatareporter-0.21.0.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 13ae0e9f10520c05d3e3261bc036d81b9d39861cb646779e4fda6bd078331487
MD5 f4fe8f07e6bf34d556e803354acc858b
BLAKE2b-256 51d002a911e9dc55dba493454717c5d82528ff6c55b95f8614cde5824cf28904

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page