diff --git a/prometheus_client/decorator.py b/prometheus_client/decorator.py index 1ad2c977..8f3cb879 100644 --- a/prometheus_client/decorator.py +++ b/prometheus_client/decorator.py @@ -34,6 +34,7 @@ from __future__ import print_function import collections +import functools import inspect import itertools import operator @@ -105,7 +106,7 @@ def __init__(self, func=None, name=None, signature=None, self.name = '_lambda_' self.doc = func.__doc__ self.module = func.__module__ - if inspect.isfunction(func): + if inspect.isfunction(func) or isinstance(func, functools.partial): argspec = getfullargspec(func) self.annotations = getattr(func, '__annotations__', {}) for a in ('args', 'varargs', 'varkw', 'defaults', 'kwonlyargs',