X7ROOT File Manager
Current Path:
/usr/share/systemtap/tapset
usr
/
share
/
systemtap
/
tapset
/
📁
..
📄
README
(371 B)
📄
ansi.stp
(4.08 KB)
📄
argv.stp
(2.66 KB)
📁
arm
📁
arm64
📁
bpf
📄
choose_defined.stpm
(208 B)
📄
container_of.stpm
(235 B)
📄
context.stp
(4.95 KB)
📁
dyninst
📄
errno.stp
(8.9 KB)
📁
i386
📁
ia64
📄
indent-default.stp
(59 B)
📄
indent.stp
(4.48 KB)
📄
init.stp
(269 B)
📄
input.stp
(263 B)
📄
java.stp
(1.31 KB)
📄
libperl5.16.3-64.stp
(799 B)
📄
libpython2.7-64.stp
(522 B)
📄
libruby.so.2.0.0.stp
(8.27 KB)
📄
libvirt_functions.stp
(36.66 KB)
📄
libvirt_probes-64.stp
(8.13 KB)
📄
libvirt_qemu_probes-64.stp
(2.13 KB)
📁
linux
📄
logging.stp
(4.91 KB)
📄
macros.stpm
(143 B)
📁
mips
📄
null.stp
(17 B)
📄
offsetof.stpm
(173 B)
📄
oneshot.stp
(38 B)
📄
pn.stp
(1.55 KB)
📁
powerpc
📄
print_stats.stpm
(1.68 KB)
📄
private30.stpm
(80 B)
📄
prometheus.stp
(68 B)
📄
prometheus.stpm
(4.97 KB)
📄
python2.stp
(30.29 KB)
📄
python3.stp
(29.69 KB)
📄
qemu-kvm-simpletrace.stp
(183.4 KB)
📄
qemu-kvm.stp
(128.77 KB)
📄
queue_stats.stp
(9.26 KB)
📄
random.stp
(432 B)
📄
regex.stp
(4.01 KB)
📄
registers.stp
(7.4 KB)
📁
s390
📄
sizeof.stpm
(212 B)
📄
speculative.stp
(1.71 KB)
📄
stap_staticmarkers.stp
(9.44 KB)
📄
stopwatch.stp
(2.99 KB)
📄
string.stp
(6.91 KB)
📄
switchfile.stp
(612 B)
📄
system.stp
(593 B)
📄
timers.stp
(924 B)
📄
tokenize.stp
(2.07 KB)
📄
try_assign.stpm
(768 B)
📄
type_defined.stpm
(363 B)
📄
tzinfo.stp
(930 B)
📄
uconversions-guru.stp
(5.38 KB)
📄
uconversions.stp
(34.19 KB)
📁
x86_64
Editing: speculative.stp
// Speculative tapset // Copyright (C) 2011-2015 Red Hat Inc. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General // Public License (GPL); either version 2, or (at your option) any // later version. @__private30 global _spec_id @__private30 global _spec_counter% @__private30 global _spec_buff% /** * sfunction speculation - Allocate a new id for speculative output * * The speculation() function is called when a new speculation buffer is needed. * It returns an id for the speculative output. * There can be multiple threads being speculated on concurrently. * This id is used by other speculation functions to keep the threads * separate. */ function speculation:long () { _spec_id += 1 return _spec_id } /** * sfunction speculate - Store a string for possible output later * @id: buffer id to store the information in * @output: string to write out when commit occurs * * Add a string to the speculaive buffer for id. */ function speculate (id:long, output:string) { _spec_counter[id] += 1 _spec_buff[id, _spec_counter[id]] = output } /** * sfunction discard - Discard all output related to a speculation buffer * @id: of the buffer to store the information in * */ function discard (id:long) { delete _spec_buff[id,*] } /** * sfunction commit - Write out all output related to a speculation buffer * @id: of the buffer to store the information in * * Output all the output for @id in the order that it was entered into * the speculative buffer by speculative(). */ function commit (id:long) { foreach([i, counter+] in _spec_buff [id,*]) { printf("%s", _spec_buff[i, counter]) } delete _spec_buff[id,*] }
Upload File
Create Folder