Source code for dgitcore.contrib.instrumentations.platform

#!/usr/bin/env python

import os, sys
from dgitcore.plugins.instrumentation import InstrumentationBase
from dgitcore.config import get_config
import platform
import getpass

[docs]class PlatformInstrumentation(InstrumentationBase): """ Instrumentation to extract platform-specific information """ def __init__(self): super(PlatformInstrumentation, self).__init__('platform', 'v0', "Execution platform information")
[docs] def get_metadata(self): return { 'client': { 'name': platform.node(), 'os': platform.system(), 'release': platform.release(), 'processor': platform.processor(), 'python': platform.python_version(), 'distribution': platform.linux_distribution() }, 'ownership': { 'user': getpass.getuser() } }
[docs] def update(self, config): metadata = self.get_metadata() config['metadata'].update(metadata['client']) config['ownership'].update(metadata['ownership']) return config
def setup(mgr): obj = PlatformInstrumentation() mgr.register('instrumentation', obj)