Proto commits in rib/gputop

These 44 commits are when the Protocol Buffers files have changed:

Commit:5e35bfa
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server/client: use oa interrupt support when available The interrupt is a better mechanism to not loose any data.

Commit:6491bd7
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

move directories around Now that we drop a bunch of in-tree dependencies, we can cut down the names of the directories.

The documentation is generated from this commit.

Commit:ce2e78c
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

remove old codebase

Commit:e6add8e
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server: enable request of cpu/gpu timestamps in i915 perf stream

Commit:c04eed4
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server: extend protocol to report engines

Commit:468ab97
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server: extend protocol to report topology

Commit:f12afe1
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server: report available perf events through protocol

Commit:2d3d56e
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server: report comm name as well as cmdline for processes This provides names for kernel tasks as well as shorter names for userspace processes.

Commit:6130b96
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

clients/server: s/guid/uuid/

Commit:57b8db9
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

server: embed protobuf completely protobuf-c & protoc-c were still depending on the system installed protobuf library which can be quite painful to deal with as some distros have old version. Instead embed the library completely and drop the dependency. Issue #162.

Commit:8827c1b
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

ui: fix gpu pretty name display

Commit:4d99b79
Author:Lionel Landwerlin
Committer:Lionel Landwerlin

gputop-server: provide prettyname Reduces the number of places we have to update for new Gens.

Commit:b44b856
Author:Robert Bragg
Committer:Robert Bragg

Support multiple OA counter accumulators The 'accumulator' in gputop is a state machine that is fed raw OA reports and calculates deltas between sequential reports to build up an array of uint64_t counter values over an accumulation period before this array is fed as input into counter normalization functions. To be able to accumulate values over a long period for readable labels in a UI (e.g. one second) and at the same time accumulating over a very short period for a detailed graph plot this enables us to maintain multiple accumulators that all raw reports are fed into. The intention is that these accumulators will later be capable of more advanced context filtering, but for now the previously attempted support for single-context filtering has been removed.

Commit:e45299c
Author:Robert Bragg
Committer:Robert Bragg

stash: multiple oa accumulators

Commit:5a18557
Author:Robert Bragg
Committer:Robert Bragg

cleanup up confusing use of term 'query' when we mean 'stream'

Commit:93e6b36
Author:Robert Bragg

server: forward general system notices/metric caveats that users must see

Commit:0f7ebde
Author:Robert Bragg

server: forward server's pid to client

Commit:22fc6bf
Author:Robert Bragg
Committer:Robert Bragg

more tracepoint plumbing the gputop-tracepoint tool is now able to query information about available tracepoints, open a tracepoint and once open the server will forward the raw perf data for that tracepoint. Although the client-c code now knows about the raw fields for a tracepoint it doesn't parse them yet.

Commit:c308f18
Author:Robert Bragg
Committer:Robert Bragg

server: advertise GL_INTEL_performance_query queries

Commit:4b5ca31
Author:Robert Bragg
Committer:Robert Bragg

Fairly major repository layout overhaul This splits things up to ease defining npm packages and a node addon for the client-side C code and to just clarify the separate roles/responsibilities of different code such as server vs client code. gputop-web.c has been renamed gputop-client-c.c and the namespace changed from gputop_webc_ to gputop_cc_. The client C apis that are for calling back into the javascript runtime have a gputop_cr_ namespace. This change drops the ncurses UI for now, though we may add a minimal terminal UI based on the same interfaces used by the web ui + tools.

Commit:40465a9
Author:Robert Bragg
Committer:Robert Bragg

Add protocol for querying tracepoint information

Commit:bbb3504
Author:Robert Bragg
Committer:Robert Bragg

server: fix forwarding cpu stats for all cores

Commit:db7c4ac
Author:Plamena Manolova
Committer:Robert Bragg

server: forward chipset name as part of devinfo This way the javascript code can see the chipset type without depending on the intel_chipset.h macros (and gputop-web.c)

Commit:c56b592
Author:Robert Bragg
Committer:Robert Bragg

support forwarding periodic cpu stats to remote ui

Commit:0c0ae7b
Author:Plamena Manolova
Committer:Robert Bragg

server: forward chipset name as part of devinfo This way the javascript code can see the chipset type without depending on the intel_chipset.h macros (and gputop-web.c)

Commit:e00a181
Author:Robert Bragg
Committer:Robert Bragg

support forwarding periodic cpu stats to remote ui

Commit:c885791
Author:Plamena Manolova
Committer:Plamena Manolova

gputop-csv: CSV tool now saves data to file.

Commit:184182c
Author:Sergio Martinez
Committer:Sergio Martinez

web-ui: Adding settings for pid and some support for it

Commit:9913c02
Author:Robert Bragg
Committer:Robert Bragg

Add test_log RPC request for unit testing If the web ui is put into 'test mode' via ?test=1 in the URL then messages logged via gputop.test_log(message) will be sent back to the server and printed to stderr. This will give Travis CI tests more feedback about code coverage when testing the web ui.

Commit:385a20f
Author:Sergio Martinez
Committer:Robert Bragg

remote: add apis for querying process info from server

Commit:7ad4ce1
Author:Robert Bragg
Committer:Robert Bragg

forward timestamp + gpu frequency info to remote ui

Commit:707bcb9
Author:Robert Bragg
Committer:Robert Bragg

web2: don't depend on server.js or any remote CDN to run We now consistently use npm to fetch all our third-party JavaScript dependencies at build time (so this removes bootstrap, protobuf.js, long.js and bytebuffer.js from the repo) The web2/ directory structure was flattened a bit, removing the www/ directory. dist/ is now named bootstrap/ and is a symlink created at build time to node_modules/bootstrap/dist/. Other JS files downloaded under node_modules are also symlinked at build time. Symlinks are now used to avoid duplicating gputop.proto or the oa-*.xml files. server.js has been updated accordingly, so it can still be used during development to serve files in the web2 directory with the same layout as gputop serves. All files needed for the web ui are now installed under $prefix/share/web2/. If the GPUTOP_WEB2 environment variable is set then gputop-server.c will serve files from $prefix/share/web2 instead of $prefix/share/web.

Commit:2deaf57
Author:Sergio Martinez
Committer:Robert Bragg

web2: Adding extra documentation and per context metrics

Commit:b12db46
Author:Sergio Martinez
Committer:Robert Bragg

web2: bootstap a new Bootstrap based web ui For now this UI is added in parallel with the existing web ui so it can mature a little before we remove the previous one.

Commit:c2e2e4d
Author:Adrian Moldovan
Committer:Adrian Moldovan

Convert tab whitespaces into spaces

Commit:ee2e477
Author:Plamena Manolova
Committer:Plamena Manolova

gputop-web-worker: Use GUIDs to identify requested metric sets. When sending a message requesting a particular metric set, now the web worker uses the GUID to identify the set and not the id.

Commit:1e4e3f0
Author:Plamena Manolova
Committer:Plamena Manolova

gputop-server: Forward array of GUIDs for supported queries to web UI. Now the GUIDs of the metric sets advertised by the kernel are forwarded to the web UI as read via sysfs.

Commit:3f20afd
Author:Matthew Auld
Committer:Matthew Auld

gputop-perf.c: we now store gen in gputop_devinfo This will help later when we need to do something for a range of generations, rather than trying to query the devid, which would be cumbersome.

Commit:b49893c
Author:Adrian Moldovan
Committer:Adrian Moldovan

gputop-perf: Added functions needed to generate fake data. Implemented functions that deal with the fake data generation that works both with ncurses and --remote. Conflicts: gputop/gputop-perf.c

Commit:5aefcb9
Author:Kasi-Reddy

Fix initialization of devinfo structure in gputop-web-worker.c

Commit:0f01251
Author:Robert Bragg
Committer:Robert Bragg

hook up up chv + skl support

Commit:0029f18
Author:Robert Bragg
Committer:Robert Bragg

proto updates

Commit:c5c9777
Author:Robert Bragg
Committer:Robert Bragg

Add gputop.proto for server <--> web client protocol

Commit:b97a631
Author:Robert Bragg
Committer:Robert Bragg

Add gputop.proto for server <--> web client protocol