sapling/eden/scm/edenscm/metrics.py
Muir Manders 44343769f8 collapse edenscm.mercurial package into edenscm
Summary:
We want to rename away from "mercurial". Rather than rename the "mercurial" Python package, we opted to just collapse it into the parent "edenscm" package. This is also a step towards further organizing we want to do around the new project name.

To ease the transition wrt hotfixes, we now replace "edenscm.mercurial" with "mercurial" to fix imports within base64-python extensions.

Reviewed By: sggutier

Differential Revision: D38943169

fbshipit-source-id: 03fa18079c51e2f7fac05d65b127095da3ab7c99
2022-08-24 13:45:53 -07:00

31 lines
791 B
Python

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2.
# metrics.py - generic metrics framework
from __future__ import absolute_import
from bindings import hgmetrics
class metrics(object):
"""Abstract base class for metrics"""
def __init__(self, ui):
self.ui = ui
def gauge(self, key, value=1, entity=None):
"""If entity is None, log locally. Otherwise, send it to a global counter."""
if entity is None:
hgmetrics.incrementcounter(key, value)
def client(ui):
"""Returns the appropriate metrics module"""
# @fb-only: from . import fb
# @fb-only: return fb.fbmetrics(ui)
return metrics(ui) # @oss-only