【发布时间】:2021-10-16 07:01:28
【问题描述】:
我是 elixir 新手,我正在尝试寻找类似于 Python 的 ContextManager 的东西。
问题:
我有一堆函数,我想在它们周围添加延迟指标。
现在我们有了:
def method_1 do
...
end
def method_2 do
...
end
... more methods
我想要:
def method_1 do
start = System.monotonic_time()
...
end = System.monotonic_time()
emit_metric(end-start)
end
def method_2 do
start = System.monotonic_time()
...
end = System.monotonic_time()
emit_metric(end-start)
end
... more methods
现在代码重复是个问题
start = System.monotonic_time()
...
end = System.monotonic_time()
emit_metric(end-start)
那么在这种情况下,避免代码重复的更好方法是什么?我喜欢 python 中的context manager 想法。但现在确定如何在 Elixir 中实现类似的功能,提前感谢您的帮助!
【问题讨论】:
标签: functional-programming erlang elixir