コード例 #1
0
def main():
    global metricsRegistry
    metricsRegistry = MetricsRegistry()
    #timer = metricsRegistry.timer("post_calls")
    #print((str(metricsRegistry._get_timer_metrics("post_calls"))))
    loop = uvloop.new_event_loop()
    asyncio.set_event_loop(loop)
    app = Application()
    app.listen(options.port)
    asyncio.get_event_loop().run_forever()
コード例 #2
0
ファイル: base.py プロジェクト: pombredanne/goblin-legacy
 def setup_registry(self, registry=None):
     """ Setup the Metric Reporter with the given registry(s) """
     if not registry:
         self.registry = [MetricsRegistry(), ]
     else:
         if not isinstance(registry, (tuple, list)):
             registry = [registry, ]
         self.registry = []
         for reg in registry:
             if not isinstance(reg, (MetricsRegistry, RegexRegistry)):
                 raise GoblinMetricsException(
                     "%s is not an instance of pyformance.MetricsRegistry" +
                     " or pyformance.RegexRegistry")
             self.registry.append(reg)
コード例 #3
0
ファイル: fetch_docs.py プロジェクト: iivalchev/ml_metrics
def fetch_docs(base_path, es_host, es_index, es_query=None, limit=-1):
    exp_name = "fetch_docs"
    exp_path = f"{base_path}/{exp_name}"
    os.makedirs(exp_path, exist_ok=True)

    run = mlflow.start_run(experiment_id=get_or_create_experiment_id(exp_name))
    docs_path = f"{exp_path}/{run.run_info.run_uuid}"

    registry = MetricsRegistry()

    mlflow_reporter = MlflowReporter(registry=registry,
                                     active_run=run,
                                     reporting_interval=10)
    mlflow_reporter.start()

    influx_reporter = InfluxReporter(registry=registry,
                                     reporting_interval=10,
                                     autocreate_database=True)
    influx_reporter.start()

    try:
        mlflow.log_param("docs_path", docs_path)
        mlflow.log_param("es_host", es_host)
        mlflow.log_param("es_index", es_index)
        mlflow.log_param("es_query", es_query)

        _write_docs(
            _get_docs_scrolled(registry, es_host, es_index, es_query, limit),
            docs_path)

        influx_reporter.report_now()
        mlflow_reporter.report_now()

        mlflow.end_run()
    except Exception as e:
        mlflow.end_run("FAILED")
        raise e
    finally:
        influx_reporter.stop()
        mlflow_reporter.stop()

    return run
コード例 #4
0
def reset_metrics():
    pyformance.set_global_registry(MetricsRegistry())
コード例 #5
0

class RequestHandler(Resource):

    # isLeaf is a way of indicate whether the object
    # has child nodes
    isLeaf = True

    # run server then go to: http://localhost:8001/?world_size=n
    # n being a number of your choice
    def render_GET(self, request):
        counter = metricsRegistry.counter("hello_called").inc()
        world_size = request.args["world_size"][0]
        histogram = metricsRegistry.histogram("world_size")
        histogram.add(int(world_size))
        request.setResponseCode(200)
        return str(metricsRegistry._get_histogram_metrics("world_size"))


if __name__ == '__main__':
    # Load up twisted web
    global metricsRegistry
    metricsRegistry = MetricsRegistry()
    try:
        resource = RequestHandler()
        factory = Site(resource)
        reactor.listenTCP(8001, factory)
        reactor.run()
    except Exception as e:
        print(e)