#!/usr/bin/env bpftrace
/*
 * biolatency.bt	Block I/O latency as a histogram.
 *			For Linux, uses bpftrace, eBPF.
 *
 * This is a bpftrace version of the bcc tool of the same name.
 *
 * Copyright 2018 Netflix, Inc.
 * Licensed under the Apache License, Version 2.0 (the "License")
 *
 * 13-Sep-2018	Brendan Gregg	Created this.
 * 07-Apr-2020	Andreas Gerstmayr	Modified for usage with PCP bpftrace PMDA.
 */
// include: @usecs

kprobe:blk_account_io_start,
kprobe:__blk_account_io_start
{
	@start[arg0] = nsecs;
}

kprobe:blk_account_io_done,
kprobe:__blk_account_io_done
/@start[arg0]/
{
	@usecs = hist((nsecs - @start[arg0]) / 1000);
	delete(@start[arg0]);
}
