add some metrics funcs