To do exactly that you want, you can decorate this method by the callable class.
class TimeElapser :
def __init__(self, function_to_wrap) :
self.__call__ = function_to_wrap
self.get_duration = get_duration(function_to_wrap)
Examples :
class Foo :
@TimeElapser
def do_something(self, ....) :
...
foo = Foo()
foo.do_something() #Does something
foo.do_something.get_duration() # Does something and print duration