#include <linux/ceph/ceph_debug.h>
#include <linux/types.h>
#include <linux/percpu_counter.h>
#include <linux/math64.h>
#include "metric.h"
#include "mds_client.h"
static void ktime_to_ceph_timespec(struct ceph_timespec *ts, ktime_t val)
{ … }
static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
struct ceph_mds_session *s)
{ … }
static void metric_get_session(struct ceph_mds_client *mdsc)
{ … }
static void metric_delayed_work(struct work_struct *work)
{ … }
int ceph_metric_init(struct ceph_client_metric *m)
{ … }
void ceph_metric_destroy(struct ceph_client_metric *m)
{ … }
#define METRIC_UPDATE_MIN_MAX(min, max, new) …
static inline void __update_mean_and_stdev(ktime_t total, ktime_t *lavg,
ktime_t *sq_sump, ktime_t lat)
{ … }
void ceph_update_metrics(struct ceph_metric *m,
ktime_t r_start, ktime_t r_end,
unsigned int size, int rc)
{ … }