????
Current Path : /lib64/python3.6/site-packages/pcp/__pycache__/ |
Current File : //lib64/python3.6/site-packages/pcp/__pycache__/pmi.cpython-36.opt-1.pyc |
3 4>�f�5 � @ s< d Z ddlmZmZmZmZ ddlmZmZ ddl Z ddl m Z mZmZm Z mZ e je jjd��Zdej_dej_eej_eeegej_eej_eegej_eej_eegej_eej_eeeeeegej_e ej_ee egej_eej_e egej_eej_egej_eej_dej_eej_e gej_eej_e gej_eej _e eeeeegej _eej!_ee egej!_eej"_e e e gej"_eej#_e e gej#_eej$_ee gej$_eej%_eegej%_eej&_ee�gej&_eej'_dej'_eej(_eeee gej(_eej)_eeee e gej)_G dd� de*�Z+G d d � d e,�Z-dS )a� Wrapper module for libpcp_import - Performace Co-Pilot Log Import API # # Copyright (C) 2012-2021 Red Hat. # # This file is part of the "pcp" module, the python interfaces for the # Performance Co-Pilot toolkit. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # Example use of this module for creating a PCP archive: import math import time import pmapi from pcp import pmi # Create a new archive log = pmi.pmiLogImport("loadtest") log.pmiSetHostname("www.abc.com") log.pmiSetTimezone("EST-10") # Add a metric with an instance domain domain = 60 # Linux kernel pmid = log.pmiID(domain, 2, 0) indom = log.pmiInDom(domain, 2) units = log.pmiUnits(0, 0, 0, 0, 0, 0) log.pmiAddMetric("kernel.all.load", pmid, pmapi.PM_TYPE_FLOAT, indom, pmapi.PM_SEM_INSTANT, units) log.pmiAddInstance(indom, "1 minute", 1) log.pmiAddInstance(indom, "5 minute", 5) log.pmiAddInstance(indom, "15 minute", 15) # Create a record with a timestamp log.pmiPutValue("kernel.all.load", "1 minute", "%f" % 0.01) log.pmiPutValue("kernel.all.load", "5 minute", "%f" % 0.05) log.pmiPutValue("kernel.all.load", "15 minute", "%f" % 0.15) timetuple = math.modf(time.time()) useconds = int(timetuple[0] * 1000000) seconds = int(timetuple[1]) log.pmiWrite(seconds, useconds) del log � )�pmID�pmInDom�pmUnits�pmResult)� pmiErrSymDict�PMI_MAXERRMSGLENN)�cast�c_int�c_uint�c_char_p�POINTERZ pcp_importc s0 e Zd ZdZ� fdd�Zdd� Zdd� Z� ZS )�pmiErrz4 Encapsulation for PMI interface error code c sB t t| �j|� t|�| _|r8t|d t�r8|d | _nd| _d S )Nr )�superr �__init__�list�args� isinstance�int�code)�selfr )� __class__� �/usr/lib64/python3.6/pmi.pyr � s zpmiErr.__init__c C sR y(t | j }tjt�}tj| j|t�}W n tk rD d }}Y nX d||f S )N� z%s %s)r r �ctypesZcreate_string_bufferr � LIBPCP_IMPORT�pmiErrStr_r�KeyError)r Zerror_symbolZerror_stringr r r �__str__� s zpmiErr.__str__c C s | j S )N)r )r r r r �errno� s zpmiErr.errno)�__name__� __module__�__qualname__�__doc__r r r � __classcell__r r )r r r � s r c @ s� e Zd ZdZdd� Zdd� Zeeddd�Zeeddd�Zd0dd �Z d d� Z dd � Zdd� Ze dd� �Ze dd� �Ze dd� �Ze dd� �Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Ze d,d-� �Zd.d/� ZdS )1�pmiLogImportzqDefines a PCP Log Import archive context This is used to create a PCP archive from an external source c C s | j S )z Property for archive path )�_path)r r r r � read_path� s zpmiLogImport.read_pathc C s | j S )z! Property for log import context )�_ctx)r r r r �read_ctx� s zpmiLogImport.read_ctxNr c C sD t |t�s|jd�}|| _tjt|�|�| _| jdk r@t| j��d S )Nzutf-8r ) r �bytes�encoder&