41844eda55fdb325430d622e65dc6ff16c6a61c1 |
23-May-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: add ability to override upload limit flag on debuggable builds This allows for us to override the failsafe which limits how much data we can upload per day on userdebug builds. Bug: 80129651 Test: unittests Change-Id: Ie683801bbb64ee2017a13a3e39e1969c4cb08b24 Merged-In: Ie683801bbb64ee2017a13a3e39e1969c4cb08b24
en_android_bp
|
567a5111ff3fad730c1b9c8b1a77a09f187a7385 |
25-Apr-2018 |
Primiano Tucci <primiano@google.com> |
traced_probes: fix tid/pid incremental mapping and reduce overhead This CL: 1) Fixes an architectural bug related to the way tid/pid mapping is established. The current proto structure, in fact, is strictly hierarchical and requires that a process and all its threads are dumped together. This has two problems: (i) it either requires to always dump all threads for a process or re-dump the process record for each thread; (ii) doesn't deal with the fact that new threads can be spawned after the initial dump. 2) Fixes a performance bug, reducing traced_probes cpu usage by more than 30% when process metadata collection is enabled. 3) Removes unused/forked code and puts everything into process_stats_data_source.cc. In terms of risk this CL should be rather safe. The entire process_stats_data_source.cc is an optional module and can be disabled at any point through the TraceConfig. (cherry picked from commit bd0c02f02090a2b06d0ea93155aa0fcc05ff0cbc) Bug: b/78453224 Bug: b/78106582 Bug: b/77316877 Change-Id: I4592c9c0317c6f66b68357684ce9cd0577c9bdb5 Merged-In: I4592c9c0317c6f66b68357684ce9cd0577c9bdb5
race_to_text/main.cc
|
c27975c03347743354b09aae02e8ac53008399ee |
10-Apr-2018 |
Lalit Maganti <lalitm@google.com> |
trace_to_text: add raw output mode for compact summaries This allows tools to parse summary output without resorting to parsing the output of trace to text. Bug: 73228552 Change-Id: I4f54e0c4bbf4f1d9f4db44e0f6b25a07ecf61212
mux
race_to_text/main.cc
|
3cbb10a30c000fcd2cd4658dd215778422c7bbb1 |
10-Apr-2018 |
Primiano Tucci <primiano@google.com> |
Remove warning suppressions and fix many casting bugs This change removes most warning suppressions, in particular from production code. In the past we inherit a bunch of -Wno-xxx suppressions required to build gtest and libprotobuf headers. Doing so, however, caused the suppressions to propagate back to the translation units that were including any protobuf header or any auto-generated .pb.h stub. This change moves the gtest and probobuf header to be a system include (-isystem vs -I). Doing so implicitly blacklists any compiler warning on the headers. This CL then re-enables warnings and deals with the fall out of fixes that came out of this. Bug: 77316877 Test: pefetto_unittests / perfetto_integrationtests Change-Id: I3a01852ebf7d0b9bf19658ddf117209d129c70be
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen_unittest.cc
trace_proto_gen/main.cc
roto_to_cpp/proto_to_cpp.cc
kippy/skippy.cc
race_to_text/ftrace_event_formatter.cc
race_to_text/main.cc
|
1d8956a0564eb97b07f267f5ea27714ef9a49289 |
10-Apr-2018 |
Florian Mayer <fmayer@google.com> |
Add f2fs events. Also adds a new sets of format files: android_flounder_lte_LRX16F_3.10.40 Bug: 73625480 Change-Id: I0e2fbabc2aaae1dc0f25aecdbc89ccc83ef4fa5d
trace_proto_gen/event_whitelist
race_to_text/ftrace_event_formatter.cc
race_to_text/ftrace_inode_handler.cc
|
e7ca7c6e3a1633777c2aa62bdfa9619561ea1e3e |
07-Apr-2018 |
Primiano Tucci <primiano@google.com> |
Fix test failure by reducing max shm size to 32 MB Tests are failing on travis because the max allowed SHM size was set to 2GB. Lowering down to 32 MB. Also fixing the emulator scripts for mac. Bug: 73625175 Change-Id: Ia6c3e6df38674c1e4a6723ae87589efe1605c257
nstall-build-deps
un_android_emulator
|
238c550d8131f3b35dae437182c924191ff08b72 |
06-Apr-2018 |
Florian Mayer <fmayer@google.com> |
Add tool to find scan roots. Bug: 73625480 Change-Id: I93b405feb999aaed9675d2ea52712663fa83c9e0
ind_scan_roots.py
|
b0f0071122d91d343e448898ae2b26a060978b0e |
04-Apr-2018 |
Florian Mayer <fmayer@google.com> |
Use separate unix socket for tools/tmx. Bug: 76169489 Change-Id: Id8fd7b3465b8e0a09c3d43a6aa817ba4eee04152
mux
|
aef0c5300a9f527eef929df546fd924230e5c840 |
04-Apr-2018 |
Florian Mayer <fmayer@google.com> |
Add unittests for file_scanner. Fix minor bug. Bug: 73625480 Change-Id: Ice90c62ee6dd9742add9627cf7d8c9b9f2e6d741
est_data.txt
|
b2499471f6636a2fa2fddcafd56be44392780edd |
03-Apr-2018 |
Isabelle Taylor <taylori@google.com> |
Fix bug in summary trace to text. Trace to text summary now counts tids without any child threads. Change-Id: I7a7c38403f9d96cb8dbf6f176d2c9d2a4cca8a57
race_to_text/main.cc
|
38faa6fb533d3c83264dfed38ba5345ad978821d |
01-Apr-2018 |
Primiano Tucci <primiano@google.com> |
Improve stacktraces on Linux/Android standalone debug builds Improves stacktraces on Linux/Android using libbacktrace. The library is used only in standalone builds and not shipped in any official (Chrome or Android) build. libbacktrace has the advantage of using dwarf info for symbolization and not requiring to export the dynamic symbol table (which doesn't work because we have to build with -fvisibility=hidden because of protobuf) Bug: 76169489 Change-Id: I308050947c2c57fec630ea94712ee81a5a6543b3
nstall-build-deps
|
1b9c58a175e5b414904aed2878bdf7517f7fdfb0 |
29-Mar-2018 |
Hector Dearman <hjd@google.com> |
Added process tree config. Process tree config contains an enum that allows the initial process dump or the on demand process dumps to be disabled. Also contains a fix for the autogenerator code that makes it work for repeated enums. Change-Id: I0666a890db87d2f857b2bcf9500d935b3a77c869
en_merged_trace_config
en_tracing_cpp_headers_from_protos.py
roto_to_cpp/proto_to_cpp.cc
|
dae356561b19fa29c6a9dd63737062cffe18582a |
29-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Allow to configure InodeFileDataSource. Bug: 74584014 Change-Id: I4f3afd96e7e017e2ca2a10aac661460a97d4f90c
en_merged_trace_config
en_tracing_cpp_headers_from_protos.py
|
7187df1513e6c61b5a7774bf9df28b4069cc8487 |
29-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Merge "perfetto: fix android Travis build"
|
131b6e5d9b0d7924006f372ec4741c31e7de27cb |
29-Mar-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: add benchmark for fixed rate producer This benchmark tries to rate-limit how fast the producer is writing to measure the CPU usage of the producer and service. Bug: 74380167 Change-Id: Ic5e1c6a51394efeff9a291e89d1c06f13ad23f6d
un_android_test
|
e8322896a9b30723af2a307fcea431e5a3b10368 |
29-Mar-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: fix android Travis build Bug: 76169489 Change-Id: I82f3b1a5351380ad0209963e9852fd7615ec38fc
race_to_text/main.cc
|
45c9b1840dbb20eb4825d0a7022f50c9f92da860 |
29-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Introduce "json" and "systrace" output in trace_to_text This renames systrace -> json, and introduces a pure text-only output with the "systrace" command. Bug: 73611302 Test: manual Change-Id: Id13b561eebc4430dbaf7850591ca89f0b92a0864
race_to_text/ftrace_event_formatter.cc
race_to_text/main.cc
|
3c4e5c27a1ec10cb16fbb75ae4bdd45be2f93505 |
29-Mar-2018 |
Hector Dearman <hjd@google.com> |
traced_probes: Support on demand proccess info Bug: 73058765 Change-Id: I62801d558363a66c1683b12cb58ae6b36daf8515
mux
|
a7c04f8664979b605f38dba68b361b48da2db70a |
29-Mar-2018 |
Hector Dearman <hjd@google.com> |
traced_probes: Fix pid snapshot Three changes: 1) Currently there are issues with very large trace packets, put each proccess in its own trace packet as a workaround. 2) Reading the cmdline is special since the cmdline is uses \0 as an argument seperator. We have to either: plumb the exact size we read or zero the whole buffer before we read. The latter is simplier in the current code so do that. 3) QOL changes to tools/tmux Bug: 73058765 Change-Id: I0ec6775b3ff8c4c01f450752f4c75b773faade3a
mux
|
5e8fa4b6f11c49df07e70314f79060109a72ad42 |
29-Mar-2018 |
Anna Zappone <azappone@google.com> |
trace_to_text: Verify filesystem scanning numbers Add sanity checks in trace to text by comparing inodes seen in ftrace events to the inodes resolved in InodeFileMap trace packets. Bug: 73625480 Bug: 74584014 Change-Id: I82e2081b46c03375e907342578626874efda1f20
race_to_text/main.cc
|
21c19d86d766f917725797906a379b1a404aa069 |
29-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Support building trace_to_text in the Android tree Bug: 73611302 Test: manual Change-Id: I93934ca6a2af050700f34dbb73139d01b570c47d
en_android_bp
race_to_text/BUILD.gn
race_to_text/ftrace_event_formatter.cc
race_to_text/main.cc
|
ea56fd3d10e1f2548481d69e64f569d0d03135e9 |
28-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Fix msan and mac build Bug: 73283884 Change-Id: I2c83bc2d176f989fb1d23379d5d44d5fc8e9397c
race_to_text/main.cc
|
7c10462b049ee89df7bb99803d125e1c2a8b6512 |
28-Mar-2018 |
Anna Zappone <azappone@google.com> |
trace_to_text: Add I/O sanity checks Switch ftrace_proto_gen to match new Trace to Text structure. Add two initial I/O sanity checks: unique inode count and events with inodes count to summary. Bug: 73625480 Bug: 74584014 Change-Id: I513e0fa84cf4074dbec7ded548671d834a7faae2
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen.h
trace_proto_gen/main.cc
race_to_text/BUILD.gn
race_to_text/ftrace_inode_handler.cc
race_to_text/ftrace_inode_handler.h
race_to_text/main.cc
|
910852d8c372be99dddf93b02adea9f6b0875fec |
28-Mar-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: fix gcc build Bug: 76169489 Change-Id: I7798bf33f815500b7436cc07b180a1114c3fa667
race_to_text/ftrace_event_formatter.cc
race_to_text/main.cc
|
d496ea53e67678f65bf88d17e1839e2b35cb4293 |
28-Mar-2018 |
Isabelle Taylor <taylori@google.com> |
Added process tree data to the trace to text summary. Change-Id: Id01089dbb1941a49e3be3e5a317cb9519c58acfa
race_to_text/main.cc
|
85ef5369c713a2c495e0aafd4e0019816da9eb9d |
27-Mar-2018 |
Hector Dearman <hjd@google.com> |
trace_to_text: Add summary mode Change-Id: Ic0e4e7baa81368407b309d3c98d525e0e549ce76
ix_include_guards
trace_proto_gen/ftrace_proto_gen.h
race_to_text/BUILD.gn
race_to_text/ftrace_event_formatter.cc
race_to_text/ftrace_event_formatter.h
race_to_text/main.cc
|
f4bc1d16d3862be10ef4dc4d211e1b24055ace48 |
26-Mar-2018 |
Hector Dearman <hjd@google.com> |
Replace PERFETTO_CHECK(false) with PERFETTO_FATAL Bug: 69362224 Change-Id: I7feb47a72be5c47728a74209eef83614de1b111a
roto_to_cpp/proto_to_cpp.cc
|
2ffd1a5d7b39627a5aa8085995ac5209e755e644 |
27-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Add support for long running traces This CL adds the ability to pass a file descriptor to the service when enabling tracing and periodically draining the trace buffers into that file directly from the service. This CL does not change the default behavior (which is: stream the trace over IPC) but allows to change it when setting |write_into_file|==true into the trace config. More in details this CL: - Adds new fields to the trace config to support passing the FD, as well as tuning the write period and max file size. - Adds an explicit OnTracingStop() notification to the Consumer, as it can no longer rely on OnTraceData(has_more==false) to determine when tracing ended. - Removes the OptimizeFor argument of TraceConfig, which ended up being never-used. - Adds a SIGINT signal handler to the perfetto cmdline client, allowing to gracefully stop the trace and get back the results when hitting CTRL-c once. - Stops using a temporary file when NOT using --dropbox, as the trace file will be valid even if not finalized. - Add large traces support to trace_to_text by tokenizing the packets before passing them to the protobuf decoder (which would accept at most a 64M protobuf) Matching SELinux CL: aosp/648831 Test: perfetto_unittests --gtest_filter=TracingIntegrationTest.* Bug: 73625179 Change-Id: I28043bdbef6cac730f1797b6bc5b72ecf0acac79
mux
race_to_text/main.cc
|
a812a9404f73cbf0976385f6afa1df2d8c309d3f |
23-Mar-2018 |
Oystein Eftevaag <oysteine@google.com> |
In Chrome, build as shared library rather than directly linked sources As libperfetto is linked into multiple Chrome components, this should slightly cut down on linking time. Change-Id: I885d49042625e00002032737ea5fb43c9bf1af90
roto_to_cpp/proto_to_cpp.cc
|
26a54d3473c585ac7e38e72689710b0f1483c326 |
23-Mar-2018 |
Florian Mayer <fmayer@google.com> |
Use const reference instead of value. Change-Id: Ibcc6cd71e3e305d99598f35e700c818f4fc53aef Bug: 76169489
trace_proto_gen/main.cc
|
bfc3d3eb18074ac0a39d8e4501603a601caad4d5 |
22-Mar-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: add end to end benchmarking Bug: 74380167 Change-Id: I448d72492e9a2aaa1123188f38b79492d4be6851
un_android_test
|
c99d93c1744c461ce9702c8655f92e4afa1800b8 |
22-Mar-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: update benchmark dep This allows us to use range based for loops which are meant to give more accurate benchmark results Bug: 74380167 Change-Id: Ie3e5b90fed2eeaa6ffaecb7e4bb9b198c1a17bcd
nstall-build-deps
|
6aa7557b7146cb80b9f98e6fec2fc43bc805db55 |
21-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Add host target for perfetto protos on Android host builds This CL introduces a "perfetto_trace_protos" static_library target that allows to link the perfetto protobuf code on host executable builds. This CL also disentangles some awkward dep between proto:lite targets and the IPC proto targets, that was indirectly causing the core tracing target to depend on ipc. Also fixes a small breakage on mac by removing an unnecessary include in trace_to_text. Sample usage: In the .bp file: --- cc_binary_host { name: "perfetto_proto_test", static_libs: [ "perfetto_trace_protos", "libprotobuf-cpp-lite", ], srcs: [ "host_test.cc" ], } --- Where host_test.cc: --- #include "perfetto/trace/trace.pb.h" int main(int, char** argv) { perfetto::protos::Trace trace; return trace.ParseFromString(std::string(argv[1])); } --- Bug: 73611302 Change-Id: Ie371e82941890a3a7567c30261befd756147cc1c Test: manual. Checked that builds on mac.
en_android_bp
en_tracing_cpp_headers_from_protos.py
race_to_text/main.cc
|
96928abe66f533ab8e71bd852295e5649425b4bf |
21-Mar-2018 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "perfetto: Add a testing program"
|
dbd08783f554b8651fc00417e3a50e096419d324 |
21-Mar-2018 |
Florian Mayer <fmayer@google.com> |
make constants constexpr. Change-Id: I0b38444339992e3f3fec40f4b72ced57b7c97481
race_to_text/main.cc
|
3639700b4743851bdd6a5cd4e04790d52b68ea11 |
20-Mar-2018 |
Hector Dearman <hjd@google.com> |
perfetto: Add a testing program It's often hard to know if we're dropping data from ftrace, the systrace UI is naturally gappy when the CPUs are idle. Skippy is a test program that produces visually identifiable output in the systrace UI for debugging dropped data. Skippy is so named because it skips between CPU cores to produce the pattern. Change-Id: I3409b5271f2562c857d19b9fc55a517d9161212d
kippy/BUILD.gn
kippy/skippy.cc
|
1cfb31257b561018e577c69b62fe8db8f4349f34 |
19-Mar-2018 |
Anna Zappone <azappone@google.com> |
Merge "ftrace_reader: Update for uint64 block device ids"
|
8ce30879c9384dfb870d7496fdff62e2e0f5db50 |
19-Mar-2018 |
Anna Zappone <azappone@google.com> |
ftrace_reader: Update for uint64 block device ids Switch previous code for plumbing uint32 device ids to translate to uint64 and add translation strategies for uint64 device ids. Add static_casts for inode numbers as well. Bug: 73873362 Bug: 73625480 Change-Id: Id76ef4759739e78994c7b5bd2a9f85dc7d0890e3
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen_unittest.cc
race_to_text/main.cc
|
c067d41f00bb77b5b5d752028b4fe77f936f5021 |
16-Mar-2018 |
Hector Dearman <hjd@google.com> |
perfetto: Add linux support to tools/tmux Change-Id: Ib61e7322862fc0ad48fb56594684341e84bc8c06
mux
|
2166b71f3fbc66e4e8bcb1c12d28fcce993b7a8d |
16-Mar-2018 |
Anna Zappone <azappone@google.com> |
Fix JSON error and add I/O events Bug: 73625480 Change-Id: I3c1f057a4e7cb8d8c8c72b60b58e7edbf99b0edd
race_to_text/main.cc
|
0ff07c7f4fdf27a7eacc53353c140e4ca8785f98 |
15-Mar-2018 |
Hector Dearman <hjd@google.com> |
probe_producer: Post metadata to helper sources ftrace_reader needs a way to signal to the inode/ps metadata sources with vectors of intresting inodes/pids. It should signal only data sources which belong to the same tracing session. These sources may not exist. Rather than keeping many parallel maps up to date and having lookups in the fast path instead everytime a new datasource is created we do a pass though all the ftrace datasources and try to set weak pointers on them leading to the corresponding inode/ps datasources. Then when we see metadata we post task to relevent datasource via the weak pointer. Bug: 73873362 Bug: 73625715 Bug: 73625480 Change-Id: I8371067f0e948733ed8d321479031deaa4ca7db9
mux
|
3bc8438c319ae68c420d727ad857972c38ceb27f |
14-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Merge "perfetto: foo:foo_unittests -> foo:unittests"
|
599e3e282bf748703a3398a909315eadc08e6a7e |
14-Mar-2018 |
Hector Dearman <hjd@google.com> |
perfetto: All tests should end in 'Test' Bug: 69362224 Change-Id: I4d009a79d29b09cd7cc3904408722bda0bca86af
trace_proto_gen/ftrace_proto_gen_unittest.cc
|
6cfec8af466b831595633946cf972a84fe4e6a16 |
14-Mar-2018 |
Hector Dearman <hjd@google.com> |
perfetto: foo:foo_unittests -> foo:unittests Rename unittests targets from foo_unittests to unittests. Bug: 69362224 Change-Id: Icb2ca5cbf00b78a1a54443ee603cce271cad2179
trace_proto_gen/BUILD.gn
|
74b73a992f0f9d86dff8a96c0ef73a713c71b775 |
09-Mar-2018 |
Florian Mayer <fmayer@google.com> |
Add utility function to get block device -> mountpoints. Bug: 73625480 Change-Id: I996580d398a1ae7323d1fcbb4a792af53f22c8f3
trace_proto_gen/main.cc
|
3f5705c949361d50daccbd44fc8abd234abb766e |
09-Mar-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: refactor testing code to make benchmarks easier to write Bug: 74380167 Change-Id: Idfb37433e610dd4871127fb5fe01fe6ca6ea28a1
en_merged_trace_config
en_tracing_cpp_headers_from_protos.py
|
ab3b1b220624f3fb645ea757468d3089644b9aba |
09-Mar-2018 |
Oystein Eftevaag <oysteine@google.com> |
Added proto for ChromeTraceEvents, and a config string to the DataSourceConfig for Chrome tracing as well Change-Id: Ida4b690887769319323de722114aef9297653a72
en_merged_trace_config
en_tracing_cpp_headers_from_protos.py
|
09db827c202e5f23895ab278b7e360ba34152d77 |
08-Mar-2018 |
Primiano Tucci <primiano@google.com> |
TraceBuffer: minor cleanups Minor cleanups in preparation for next CL. The major changes introduced by this CL are: - Intoduce a dedicated PatchList class - Add uid support to TraceBuffer Test: perfetto_unittests Bug: 73612642 Change-Id: Id1c13e569b61e9265b79653598e81aed84064ecd
roto_to_cpp/proto_to_cpp.cc
|
27ac99cdfc7822e7abaf72de5a44ff6bd0af5fd4 |
06-Mar-2018 |
Anna Zappone <azappone@google.com> |
probes_producer: Add initial code to put inodes into their own trace packet Bug: 73625480 Change-Id: I6fa2e9b7dc4d378a0f57bf049af7a8c6d7833a82
race_to_text/main.cc
|
79f3f91596fcd877cce99bf81fd306eb733f2265 |
02-Mar-2018 |
Primiano Tucci <primiano@google.com> |
NotifySharedMemoryUpdate -> CommitData This CL replaces the NotifySharedMemoryUpdate with a new CommitData method. The new fields in the CommitDataRequest are not used yet and will be used in the upcoming CLs. This CL doesn't introduce any behavioral change. The only other change here is about getting rid of the callback in SharedMemoryArbiter. There seems to be no good reason for that, and just makes the code harder to read. Test: perfetto_unittest Bug: 73612642 Change-Id: I12c9fd7133d1916e30eb31fc50014d64b1e35be0
en_tracing_cpp_headers_from_protos.py
|
954d8ed604c478e636e9c2f60829b46efd7abf01 |
01-Mar-2018 |
Primiano Tucci <primiano@google.com> |
Add "protos" package to the ipc/*.proto files We accidentally forgot to add "protos" to the package name of those .proto files in the previous rounds. This was creating class names collision problems in upcoming CLs. Also fixing a minor bug in the proto_to_cpp tool when dealing with repeated POD fields. This is a non-funtional refactoring. Change-Id: I1b03752c499de448ea6fe8f23b1259df9cc3c87e
roto_to_cpp/proto_to_cpp.cc
|
4acbb2000936cb3001f19afe84830ed1b874dcc6 |
28-Feb-2018 |
Hector Dearman <hjd@google.com> |
Merge "perfetto: Use push --sync where possible in tools/tmux"
|
9b89d474dda658a87d9f1fedee609eb1a9eff2f9 |
28-Feb-2018 |
Hector Dearman <hjd@google.com> |
perfetto: Use push --sync where possible in tools/tmux adb push --sync doesn't send the file if the host version hasn't been updated. This is much faster when repeatedly running tools/tmux however the feature is only available in recent adb versions. This Cl makes tools/tmux use it where it is available. TBR: primiano@google.com Change-Id: Ieb20e980b7d5c75919ec620d7e01fc9e25ca61e2
mux
|
3ea38882c5ce8661479efe7d457c39d1106e6b3c |
27-Feb-2018 |
Isabelle Taylor <taylori@google.com> |
ftrace_reader: Added more events for processes. Specifically: - sched/sched_process_exec - sched/sched_process_exit - sched/sched_process_fork - sched/sched_process_free - sched/sched_process_hang - sched/sched_process_wait - task/task_rename - task/task_newtask Bug: 73058765 Change-Id: I5748b96b1c8fb4ebf4ac6518037771b30a43e0a6
trace_proto_gen/event_whitelist
race_to_text/main.cc
|
6e4e0383b0baf72512e5d44339c43808179808ca |
27-Feb-2018 |
Anna Zappone <azappone@google.com> |
ftrace_reader: Adding events for IO Bug: 73625480 Change-Id: I6856afe6e10b2fba7a25fe700cb250e81847f6cf
trace_proto_gen/event_whitelist
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen.h
trace_proto_gen/main.cc
race_to_text/main.cc
|
e3504978d34a9a25fe111e83b7aa9207f99979f3 |
26-Feb-2018 |
Isabelle Taylor <taylori@google.com> |
Added support to read multiple fields from cmdline. Bug:73058765 Change-Id: I855d50393048ea9700d7ea050b95df1fc405e6d7
race_to_text/main.cc
|
a89cc57b3ef7cf381dccb2f2fdd27dcff7666d31 |
23-Feb-2018 |
Hector Dearman <hjd@google.com> |
perfetto: Move FtraceConfig to own file Bug: 73231296 Change-Id: I547865ef6c5f7a365f54acece2142063191d95a1
en_merged_trace_config
en_tracing_cpp_headers_from_protos.py
|
d404ea1f6a7f4fa896229ea9da8000dd717eb499 |
19-Feb-2018 |
Isabelle Taylor <taylori@google.com> |
Dump process data in trace. This is now integrated. We are not doing anything with the data at the moment. Bug:73058765 Change-Id: Ib141465f345f3629e15c5269bc024ef6fc503fe7
ump_process_data/BUILD.gn
ump_process_data/file_utils.cc
ump_process_data/file_utils.h
ump_process_data/main.cc
ump_process_data/process_info.h
ump_process_data/procfs_utils.cc
ump_process_data/procfs_utils.h
race_to_text/main.cc
|
6325426c2262ce5f756fc1949b7fc75396e1c50e |
19-Feb-2018 |
Anna Zappone <azappone@google.com> |
Merge "Save inode numbers in cpu_reader to get inode to filename mappings"
|
503f6c4f51cdc40da30c487ea0615c533ed5a3f6 |
16-Feb-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: make include guards file also run on test folder Change-Id: I338d73eccf56e7e5cd8044b3e6779967ac7b6a46
ix_include_guards
|
74b1f2ac0ad97dd0470d17cc2d220875f739f3e1 |
16-Feb-2018 |
Anna Zappone <azappone@google.com> |
Save inode numbers in cpu_reader to get inode to filename mappings Change-Id: Ic6b38010871fb1b6f126f0176105528dbc939a3f
trace_proto_gen/ftrace_proto_gen_unittest.cc
|
40e9872d13586ca68cf7f6b8d24aa8c90e4472a2 |
16-Feb-2018 |
Primiano Tucci <primiano@google.com> |
Fix include guards and add PRESUBMIT Also remove "include/" from the proto_to_cpp generated files. Change-Id: If2cd4ce5ac3290ca9dffd114d48582ce2302efe8
ix_include_guards
ix_include_guards.py
roto_to_cpp/proto_to_cpp.cc
|
9bfaaf97de5aad1ccd269b62e3ea4040eff8d52a |
13-Feb-2018 |
Logan Chien <loganchien@google.com> |
Fix PDK build This commit disables "perfetto", "perfetto_integrationtests", and "perfetto_unittests" in PDK builds because they depend on "libandroid" or "libservices" which are not in PDK builds as well. Test: Build a target (described in http://b/72961456) with `platform.zip` built from master FSK source tree. Bug: 72961456 Change-Id: Id754c322fefa75d37c5acc55ef52b0efeb4f6e8a
en_android_bp
|
d15631b62e3b25faeca2e287714dec5c746163d9 |
12-Feb-2018 |
Isabelle Taylor <taylori@google.com> |
Dumps data about processes and threads. Code mostly from https://cs.chromium.org/chromium/src/third_party/catapult/systrace/atrace_helper/jni/. Next step: - integrate into codebase rather than have as a stand-alone tool Bug:73058765 Change-Id: Idfefa25488fb3e4db4194aa1da5dc23165f98955
ump_process_data/BUILD.gn
ump_process_data/file_utils.cc
ump_process_data/file_utils.h
ump_process_data/main.cc
ump_process_data/process_info.h
ump_process_data/procfs_utils.cc
ump_process_data/procfs_utils.h
|
627978ab3699f2a751d83c9cb39874f645e458d8 |
12-Feb-2018 |
Florian Mayer <fmayer@google.com> |
Merge "Use asan-use-private-alias for ASAN to prevent ODR violation."
|
2198b072fb436d362a448d1977f71637a7c6dc8e |
12-Feb-2018 |
Florian Mayer <fmayer@google.com> |
Use asan-use-private-alias for ASAN to prevent ODR violation. Bug: 72681031 Change-Id: I3e015b886043c0abb38a2baddd5e255d0a91decf
uild_all_configs.py
|
917983ce3f949904a958da633282a78e33b226e4 |
09-Feb-2018 |
Hector Dearman <hjd@google.com> |
Merge "ftrace_reader: Adjust formatting of autogen code"
|
1ea11492afa987b4ed865c595bb93bef1cbfc6db |
08-Feb-2018 |
Hector Dearman <hjd@google.com> |
trace_to_text: Fix seg fault Also sort ftrace.cfg events while we're here. Change-Id: I7180ab9924ce0aa36778b4de21ef13366f3f17ac
race_to_text/main.cc
|
22d4c57a232dcea4676fe9b9687a19ace3a5c103 |
08-Feb-2018 |
Hector Dearman <hjd@google.com> |
ftrace_reader: Adjust formatting of autogen code The makes the output code better match clang format's expectations removing the amount of unnecessary diff in future changes. Change-Id: I88f2e9c59e050ff7cc2038522952e1998e8689c8
trace_proto_gen/ftrace_proto_gen.cc
|
322227bd803b72c94d23c78de465076fb2856d90 |
08-Feb-2018 |
Hector Dearman <hjd@google.com> |
Merge "Make tools/tmux do the right thing for non-mono builds"
|
c9c183a842b39768677446137a8d779847329081 |
08-Feb-2018 |
Hector Dearman <hjd@google.com> |
Make tools/tmux do the right thing for non-mono builds TBR=primiano Change-Id: If086419de7004e5255d25f42e8dbb928f3e7403f
mux
|
be6e3e7ae3189df5d67a0d69198c245f79e1f5b6 |
06-Feb-2018 |
Anna Zappone <azappone@google.com> |
Adding ftrace_events for events useful for long running traces Bug: 72931698 Change-Id: I01f5005de61d2d9df1eb1d4c2fd8667d61e62dde
trace_proto_gen/event_whitelist
race_to_text/main.cc
|
6498fcf89bfb41a1a3b28dd177513bef4c4b3d67 |
06-Feb-2018 |
Isabelle Taylor <taylori@google.com> |
Autogenerate event_info.cc based on the event whitelist. Also added code to handle Uint16 and Bool types in ftrace fields. Bug:70373826 Change-Id: Iabbf97721b97223db77af74312bc415f071e2b5a
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen.h
trace_proto_gen/main.cc
pdate_protos.py
|
367fcd5cf0868b4aa7fde021690e7ed4c87a89f9 |
05-Feb-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: switch arm/arm64 emulators over to x64 Bug: None Change-Id: If45a6cede3fde982088fe04e47d26f23b0294709
ndroid_emulators/arm.ini
ndroid_emulators/arm64.ini
nstall-build-deps
un_android_emulator
un_android_test
|
8188f31c836a71261944eaf74252a2fd531f3b5e |
05-Feb-2018 |
Anna Zappone <azappone@google.com> |
Add extra ftrace events required Bug: 72082535 Change-Id: I5df28e8668b9074e8d47e0b10e759232c604893b
trace_proto_gen/event_whitelist
race_to_text/main.cc
pdate_protos.py
|
8ec62a84025bf94d58546d853056fb89eb0cac59 |
01-Feb-2018 |
Hector Dearman <hjd@google.com> |
Merge "Update tmux script to take optional config variable"
|
c88a66d6c94ca57e3a40e51e1f47111b841d2f36 |
01-Feb-2018 |
Hector Dearman <hjd@google.com> |
Update tmux script to take optional config variable Change-Id: Id177d44bf185f534953283da577b7ef05c82be6f
mux
|
853467e336227739d0121f39875b69bee36edf66 |
29-Jan-2018 |
Anna Zappone <azappone@google.com> |
Add ftrace event SchedWakeup Bug: 72082535 Change-Id: Iad7bf1198df879195eaa191d19784fd932c8146a
trace_proto_gen/event_whitelist
race_to_text/main.cc
|
bfc8e60309bf208a12260d991116e009ce6f279e |
30-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Use use_custom_libcxx to fuzzer This fixes an alignment problem when using ASAN. Bug: 69150303 Change-Id: Iac7f81835644b40b072c7814bf404e3df200f460
uild_all_configs.py
|
b7cca200e551a0b4ea92c639f1d8b6d7279a088a |
29-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Improve logging and add tmux script This CL: - Improves a bunch of LOG statement to make them less spammy and more demo-friendly. - Tweaks the test config to add the new cpufreq/idle categories. - Checks in hjd's tmux script for testing the standalone build. Change-Id: I0ef7230556ded850277fc0cb5a14e6914fc75279
mux
|
045ce3ecf0a9c183de58e461994ed62622be3f72 |
26-Jan-2018 |
Hector Dearman <hjd@google.com> |
Merge "ftrace_reader: Add new ftrace events"
|
082551797f9ace78cc59cfd509425f16fe7a0c32 |
25-Jan-2018 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "Add fuzzer target to build_all_configs."
|
7f37dc899fc5cb56a5f5d5c75790dfa775104fc8 |
25-Jan-2018 |
Hector Dearman <hjd@google.com> |
ftrace_reader: Add new ftrace events Plumb events for atrace categories freq, load and idle. Change-Id: I5f2ad525647d6b5fe779b572dc82c75345e500b4
trace_proto_gen/event_whitelist
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen.h
trace_proto_gen/ftrace_proto_gen_unittest.cc
ull_ftrace_format_files.py
race_to_text/main.cc
pdate_protos.py
|
3990b71b254916c71dc683f57ca02ff711b72098 |
24-Jan-2018 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "trace_to_text: Update proto paths"
|
0b32c7276adbb3d1f126bd8763b47e9eddb8789e |
24-Jan-2018 |
Sami Kyostila <skyostil@google.com> |
trace_to_text: Update proto paths Change-Id: I3ede8cad6449bc42f456dda82d22ec8b9b186ba1
race_to_text/main.cc
|
79f2d7b24c2c964162305be9aab0a66fbefc700e |
23-Jan-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: add end to end integration tests These tests will run on a new target known as perfetto_integrationtests with perfetto_tests renamed to perfetto_unittests. Change-Id: I467eafd84cade516861f79295f06bb0768e46a30
en_android_bp
un_android_test
|
73904b945da72ff1984b965233bb86c2e999ffae |
23-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Add fuzzer target to build_all_configs. Bug: 69150303 Change-Id: I26c126d61a65852a3bbde5a3ac6b69cf497b78dc
uild_all_configs.py
|
08882a479519feb78d857eff39242d20f3ee1c4e |
19-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Change the autogenerated config proto Reiterating on this. It turns out that trying to include a .proto from //frameworks/base to //external is too hairy. This CL changes the generator to generate a fused proto that can just be copied inside both statsd and internal Google repos. TBR=hjd Bug: 71743564 Change-Id: Ic9c769bfa2d8799bcd15f8d4e51c7c62ea2eb66d
en_merged_trace_config
|
c501080f9163072f632530ac2a64c513aed109e7 |
19-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Generate merged trace config for use in the Android tree This solves two problems: 1) Including > 1 .proto from the android tree is too complex due to the unusual way protoc handles relative include paths (foo/../external/proto.proto and external/proto.proto are considered distinct and then collide on multiple redefinitions). 2) We really don't want to expose the datasource-specific config to the rest of the tree. That causes just unnecessary mainteinance pain when trying to add new DataSourceConfig(s). Bug: 71743564 Change-Id: I53f83ff69cc70a56f0d72383cac238100b554273
en_merged_trace_config
en_tracing_cpp_headers_from_protos.py
|
3d5e7e672583bd8a20c4429045638b5283ab97b3 |
19-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Propagate defines to Android.pb In particular this propagates -DGOOGLE_PROTOBUF_NO_[RTTI|STATIC_INITIALIZERS]. This saves another ~30K on ARM64. Change-Id: Id4f7ac9d2013e7c3f3fa0fd9014f5a8e4617d43e Bug: 71844955
en_android_bp
|
08622fc10e3e9eabcaf0ce4f133a81faf1df3db9 |
19-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Merge "Update hermetic clang to match CLANG_REVISION."
|
20b760c0fd3e6b5d753ee499c71122a5fd84518e |
19-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Reshuffle .proto files under /proto This CL does the following: 1) Separates the proto files under three folders (config, trace, ipc). This allow to have distinct targets that the various clients can link in, without pulling in the rest. 2) Moves all the protos under a "perfetto" subdirectory. This is to reduce the ambiguity of the import statements within the .proto files themselves. Now all imports look like: import "perfetto/trace/trace.proto"; As a side effect this also means that both the perfetto public headers (i.e. the code under include/) and the generated protobufs are accessible as #include "perfetto/XXX". Change-Id: I05d13a7b720fe50edb078fc99758b0f58b8feabc
en_android_bp
en_tracing_cpp_headers_from_protos.py
roto_to_cpp/proto_to_cpp.cc
rotoc_helper.py
race_to_text/BUILD.gn
race_to_text/main.cc
|
4b3b13beefadb2b2bf2c79508da510e2c9c39489 |
19-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Update hermetic clang to match CLANG_REVISION. Change-Id: I003d98d7ee1fe40077e29bc1d32bcd67f17b6674
nstall-build-deps
|
c2a38ea365bcc47939db5555af8d4298123d7371 |
19-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Set -Oz for all cc targets. Bug: 71844955 Change-Id: Icb544bd8892aa6d1a4a7de577373798256870a58
en_android_bp
|
fcbafda1b1c7989ba4d701d1165b678240d7a727 |
18-Jan-2018 |
Hector Dearman <hjd@google.com> |
Add protoc_helper Add a mechanism for turning human readable TraceConfig configs into protobuf encoded versions. Change-Id: I66419f074c1cd8f10583d20d12e75ea02f094c7e
UILD.gn
rotoc_helper.py
|
7e2b67a4fd92a288f8856c6d213d7c73bf75a042 |
16-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Changes for statsd integration - Introduces a dedicated target for our protos. This will be required by statsd for including our protos in their config proto. - Improves error handling when passing the wrong cmdline arguments. - Moves the creation of /data/misc/perfetto-traces to the initrc. Bug: 71743564 Change-Id: If61d833a57928ddcebcb49d0f82b2490e727b626
en_android_bp
|
39071bab88ffc96bef406014a99196acf9107209 |
16-Jan-2018 |
Hector Dearman <hjd@google.com> |
ftrace_reader: Move some code for generating the protos into tools/ We put too much code into src/ when refactoring the ftrace format reader code. This puts some of the stuff we don't really need back under tools/. Bug: 71844955 Change-Id: I75cd18c7faedcab7806e83f93238b282341a0a68
trace_proto_gen/BUILD.gn
trace_proto_gen/ftrace_proto_gen.cc
trace_proto_gen/ftrace_proto_gen.h
trace_proto_gen/ftrace_proto_gen_unittest.cc
trace_proto_gen/main.cc
|
e8a77601d3694fd393e0b306e2caa962c4f54e3e |
16-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Fix trace_to_text host binary generation This CL fixed a bug in the proto_library.gni, that rebases the proto file onto the |root_out_dir| rather than |root_build_dir|. This causes an extra ../ in the invocation of protoc. This also makes it so that the trace_to_text is built only for the host but the binary is copied in the root build directory. Change-Id: Ib50e6a5dd949d197fc3d5780aad2e9574ec34111
race_to_text/BUILD.gn
|
20b3c1cbeb4e287e62b773817898f5fc43f24087 |
15-Jan-2018 |
Hector Dearman <hjd@google.com> |
Add trace_to_text To estimate overhead of perfetto we would like to use... perfetto! To allow for this reintroduce the 'trace_to_text' binary from the demo which takes in a Trace and outputs systrace formatted text viewable in the TraceViewer. Other changes in this CL: - Introduce a 'Trace' proto. This proto is just a repeated field of TracePackets - Modify perfetto_cmd to output a Trace rather than just all the TracePackets back to back. - To allow for this perfetto_cmd has a new dep on protozero. - Fix a bug in ftrace_controller.cc where we implemented the generation count for each periodic task we started rather than once for each set of periodic tasks. Change-Id: I2c9c194dfa85217bb2de02741bc2c4bcd1a0f908
race_to_text/BUILD.gn
race_to_text/main.cc
|
cc424fd9e3508d6a3385f17b71505247cd8fce1e |
15-Jan-2018 |
Florian Mayer <fmayer@google.com> |
Set fvisibility=hidden per default. This reduces the size of libtraced_shared.so by ~half. Bug: 71844955 Change-Id: Ie961920297af9dc08287cc25c815d46c8ae266f3
en_android_bp
|
c5bcd79a68812219f7ded1d7b7591b0b6faef496 |
12-Jan-2018 |
Lalit Maganti <lalitm@google.com> |
perfetto: add support from blueprint generator to include extras We will need this for the CTS tests which are built in the Android platform only using Android.bp specific flags. Including of writing these as GN then adding support to translate to the generator, just allow arbitary extras to be tacked onto the end of the blueprint. Also, on the side, export the include header for all static_library targets. This is necessary to utilise these headers when in platform. Bug: None Change-Id: I5042a9f33c7bf6364940fa60cb17cbdef8ee3e3d
en_android_bp
|
b5b716939b88f27dd4d8e96cfa67bbec59277924 |
12-Jan-2018 |
Sami Kyostila <skyostil@google.com> |
Implement DropBox uploading This patch adds a --dropbox flag to the perfetto tool for uploading the recorded trace file into DropBox. Change-Id: I42ce9080292aa45f2442033a5c1d23c83e6e3855
en_android_bp
|
f3837d56400bc3dc870d542c2de30386e3f6704f |
10-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Add --background option to perfetto cmdline util This is to allow continuing the trace in background, detaching from the TTY and creating a new session via daemon(). Also this CL gets rid of the older test/producer_cmd. It's not needed anymore now that have an official client binary. Also adds a monolithic_binaries GN arg for local development only that allows to test binaries without pushing the .so separately. Bug: 71795552 Change-Id: I11afa582244f5e5a2b9a57328eddbb0f388c2182
en_android_bp
|
5a30453f065961560d49d0e2e40cecbaa5e4fb22 |
09-Jan-2018 |
Primiano Tucci <primiano@google.com> |
initrc file for Perfetto This CL turns the perfetto daemons into two standalone executable. Given the amount of shared code between the two (traced and traced_probes) the code is shared in a .so library. Also adds the corresponding initrc files. Corresponding /sepolicy/ changes: https://android-review.googlesource.com/c/platform/system/sepolicy/+/574422 Change-Id: I3566d31757dd7fbf2478ca6512a6b655753a7fd6
en_android_bp
|
b9609618145e89cf2c1528e1a37db02f258164e9 |
09-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Merge "Fix run-buildtools-binary.sh to work on my computer"
|
14f0b9f6ee0eba1503177c1b065d0deeb0d139ec |
08-Jan-2018 |
Hector Dearman <hjd@google.com> |
Fix run-buildtools-binary.sh to work on my computer Change-Id: I967a3ff15c2d5709417c323e2b5384bba83fa233
un-buildtools-binary.sh
|
edf099ca4554042cfe9e1961c1210fb1226f9e03 |
08-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Add a way to use libraries from the Android tree This patch adds a gn variable build_with_android which makes it possible to use Android internal (i.e., non-NDK) libraries when Perfetto is being built as a part of the Android tree. Change-Id: I935582fa969ab230b9ab0ac7d392dfeace802b0e
en_android_bp
|
3b7291029cf836f548d12857c59813779431e51a |
08-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Add skeleton of perfetto cmdline tool. Test: - ninja -C out/android_x64 perfetto - adb shell "stop traced_probes; stop traced; start traced; start traced_probes;" - adb push out/android_x64/perfetto /data/local/tmp/ && \ adb push out/android_x64/libtraced_shared.so /data/local/tmp && \ adb shell "LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/perfetto -c :test -o /data/local/tmp/trace" Change-Id: I44d53c5b043df426bcb9e5577fdeaaa387a4eb70
en_android_bp
|
6067e73b16b76ad385a15a0a4290f425ecbdf1e3 |
08-Jan-2018 |
Primiano Tucci <primiano@google.com> |
Split executables and introduce common shared library [Splitting this CL off https://android-review.googlesource.com/c/platform/external/perfetto/+/575382] This CL turns the perfetto daemons into two standalone executables. Given the amount of shared code between the two (traced and traced_probes) the code is shared in a .so library. Change-Id: I370a536ed3576e991e01032c183f7cdf61a4b7d3
en_android_bp
|
63b62c4712b5e12512a88f702fc8ace94b16c407 |
04-Jan-2018 |
Sami Kyostila <skyostil@google.com> |
Fix include paths in generated headers Instead of '#include "include/perfetto/..."' the generated proto header files should use '#include "perfetto/...' as regular headers. Otherwise they can't be included from a project embedding Perfetto. Change-Id: I44dbf28f780feea4220e7a25004a541291bdf306
en_tracing_cpp_headers_from_protos.py
roto_to_cpp/proto_to_cpp.cc
|
4e49c02676a07a43945db7864e3a17a054d46926 |
21-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Make traced a top-level executable - Make a little change to the Android blueprint generator, which makes it so that executables in the top-level BUILD.gn file don't get the perfetto_ prefix. This allows to get a binary in the Android.bp that is called just "traced" and ends up in /system/bin/traced - Adds the consumer_cmd binary introduced by the previous change (Iccf88b7b1d2beb6a0750adafd86d92a0f563182d) to the blueprint. Bug: Change-Id: Ia091ba35f186a451c4c0e111fcc03a0d8decf816
en_android_bp
|
74aa6efd10fd1001e51a153aba9aef6c0c53b3b2 |
20-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Merge "Android test runner: add option to avoid pushing data deps"
|
3e712a043954cf48cbd1891bce451952cd0df452 |
19-Dec-2017 |
Hector Dearman <hjd@google.com> |
Add skeleton of traced Add the build structure for the traced deamon. Change-Id: I047b6ff62f95e5ea4ef709d57f81eebd0eccf9ae
en_android_bp
|
ebba0febdc422b9ee5d4f043ce731764a216663d |
19-Dec-2017 |
Sami Kyostila <skyostil@google.com> |
Switch tracing source sets into static libraries Change the source sets under src/tracing to static libraries and implement static library support in the blueprint generator. This is the first step in providing something Perfetto clients can link against. Change-Id: I00f5dffc6d5cc931be807f00be1d9cf71a65436b
en_android_bp
|
931284e58ea1e3a740f0fb975367f95bf91f8150 |
11-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Fix TSan flakiness Using example from TSan docs. Change-Id: I87294447baf5bbc11bbfe036bafebb1d4bd6dad3
anitizers_unittests/sanitizers_unittest.cc
|
480c68b6ad24f801a769f8d90dcec40203ded061 |
19-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Android test runner: add option to avoid pushing data deps Most unittests don't require the full test_data.txt deps to be pushed on the device. Adding an option to fasten the test cycles in those cases. Change-Id: I1dd69e5bb907f808f9dcd79fa629ad17ef23c717
un_android_test
|
71625d7a5938a905c2c4b36c65027f03a4af8b8b |
18-Dec-2017 |
Sami Kyostila <skyostil@google.com> |
Use genrule instead of cc_genrule in Android.bp Since the proto compiler doesn't need .o files as input, we can use a genrule instead of cc_genrule to run it. BUG=70682781 Change-Id: I2bb74df3ce60edeb654574d21c51096f3fbb9395
en_android_bp
|
57e67e141cb2ed720c369b244d832186d5d38dbb |
18-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Add copy constructors to proto-generated structs. Will be needed by upcoming CLs. Also fix an include guard in a ftrace file. Change-Id: I8698115ce70f5631e41eee6980db2feb3acae475 TBR=hjd@google.com
roto_to_cpp/proto_to_cpp.cc
|
fc074d49145c5fe9e068fc78f5a403722ac2ad11 |
15-Dec-2017 |
Sami Kyostila <skyostil@google.com> |
Disable usage of libunwind The Android blueprint for libunwind disables the target on Darwin, causing a build failure if we depend on it. We don't need libunwind in production code so don't emit a dependency on it. TBR=primiano@google.com Change-Id: Ic1807927a8524e708292912512e68e141fa4d259
en_android_bp
|
9640399d57f7721b22ba0df58d578538df936ecb |
14-Dec-2017 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "Add a presubmit check to keep Android.bp up-to-date"
|
bf76f4fdaeadddb34569c259351adc54f5c4e1e6 |
14-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Only check-out the emulator for the target architecture This is to reduce the space used on travis which seems to be hitting the 20GB limit. TBR=hjd Change-Id: I31cfa8a1b33e75f10c6f6b5a277ce485b5c2ff77
nstall-build-deps
|
b27619f72e76f0ffcb5bc96f3b761d931cb74517 |
13-Dec-2017 |
Sami Kyostila <skyostil@google.com> |
Add a presubmit check to keep Android.bp up-to-date When trying to upload a change which affects build files, but does not update Android.bp to match, the following presubmit error gets triggered: Android.bp is out of date. Please run tools/gen_android_bp to update it. This patch also replaces Android.bp with the output from the generator. Change-Id: If60c1c101cd640d91b477b022c2db83acbd0711f
en_android_bp
|
f9a290eb28070a5307f63752e8fd935c1ec736d6 |
13-Dec-2017 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "Add an Android.bp generator"
|
865d1d387043a5dc93faef44e481cb0aa84c0a44 |
12-Dec-2017 |
Sami Kyostila <skyostil@google.com> |
Add an Android.bp generator This patch adds a tool to automatically generate the Android.bp blueprint file from the GN build files. The tool isn't used yet; it will later be hooked up to a presubmit check which ensures Android.bp is kept in sync with BUILD.gn changes. TEST=gn desc out --format=json --all-toolchains "//*" > desc.json tools/gen_android_bp desc.json //:perfetto_tests > .../external/perfetto/Android.bp Change-Id: I81bc646f37a512bb278d135e1a571b8bfafce9a2
en_android_bp
|
5fec9219679a5d2f895af8e3e07a5982c280fab0 |
12-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Introduce proto -> pure c++ code generator It will be used to generate pure C++ headers / translation units from trace_config.proto, data_source_config.proto and data_source_descriptor.proto. This allows to keep in sync the .proto files and the C++ classes in tracing/core more easily. The end goal is to allow clients of the tracing/core API to not have to depend on libprotobuf (unless their source TraceConfig is a proto and they want to have that dependency deliberately). Change-Id: I0fdc53071661bba14af867d01d0a001accc082dc
en_tracing_cpp_headers_from_protos.py
roto_to_cpp/BUILD.gn
roto_to_cpp/proto_to_cpp.cc
|
7a40e4d530f2764dd4a3f9a1e6d517d0654fb82d |
06-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Move build -> gn/standalone Make it explicit that those gn files are only for the standalone build. Bug: 68710794 Change-Id: I7e2a15219d63b62bf8f249becfdbf39fda2cc183
ndroid_emulators/arm.ini
ndroid_emulators/arm64.ini
uild_all_configs.py
n
nstall-build-deps
inja
un-buildtools-binary.sh
un_android_emulator
un_android_test
est_data.txt
|
b03ba36a7ed038f2c547b79eb839d738a437143e |
06-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Unify test targets under perfetto_{tests,benchmarks} To avoid collisions in chrome on binary names like base_unittests. Also drop the ipc_test.cc which was a half demo and not really a test. The full code and real tests will come in the next weeks. Bug: 68710794 Change-Id: Ib472cc344e0a3316dfbad90108c9638647409809
anitizers_unittests/BUILD.gn
|
4f9b6d7b7b2ad7b86e1577a18dc6e2df91b98164 |
05-Dec-2017 |
Primiano Tucci <primiano@google.com> |
Pivot source files into top-level src,include and unify test target See discussion in go/perfetto-build-files . This is to disambiguate things like #include "base/logging.h" when in the chrome tree. Also this CL unifies the test targets into two monolithic targets: perfetto_tests and perfetto_benchmarks. This is to avoid ending up with confusing binary names in the chrome tree (e.g., ipc_unittests) Bug: 68710794 Change-Id: I1768e15b661406052b2be060d7aab0f1e7443a98
ix_include_guards.py
trace_proto_gen/BUILD.gn
trace_proto_gen/main.cc
anitizers_unittests/BUILD.gn
|
dd727e4127b6162dfaf2534c1657e44f7f0a7404 |
05-Dec-2017 |
Oystein Eftevaag <oysteine@google.com> |
Support building Perfetto as part of Chrome Change-Id: I4ea39895852e8fa02df7e0ad45f6b4b103ec3195
trace_proto_gen/BUILD.gn
anitizers_unittests/BUILD.gn
|
e02ebe116660e35598a19f0601b9813999e2da20 |
22-Nov-2017 |
Hector Dearman <hjd@google.com> |
Fix small bugs with pulling ftrace files 1) Support tabbing in explorer.html 2) Add a .gtiignore for private ftrace file sets. 3) Pull whole tracing/ file rather than events/ Change-Id: Ie49ed926662a21f00bb913bf807d7133baf57cfa
ull_ftrace_format_files.py
|
2193ff479559dde894eeb01980b441c618c822d7 |
08-Nov-2017 |
Hector Dearman <hjd@google.com> |
Move format parser files from tools/ to ftrace_reader/ Change-Id: If54aad8d22c3850dd6665a2366a6efb7672a5aec
trace_proto_gen/BUILD.gn
trace_proto_gen/format_parser.cc
trace_proto_gen/format_parser.h
trace_proto_gen/format_parser_unittest.cc
trace_proto_gen/ftrace_to_proto.cc
trace_proto_gen/ftrace_to_proto.h
trace_proto_gen/ftrace_to_proto_unittest.cc
trace_proto_gen/main.cc
|
2c650f8e452823cc07aa96de1b86d88b45f474b0 |
08-Nov-2017 |
Hector Dearman <hjd@google.com> |
Add FtraceEventBundle and FtraceEvent protos Change-Id: Ia3789340eb89dcb8355ff5491721e41746ad23f7
trace_proto_gen/ftrace_to_proto.cc
|
45c061413c5668ad724d28df0fd69359585f051d |
07-Nov-2017 |
Hector Dearman <hjd@google.com> |
Fix names of autogenerated ftrace protos Change-Id: I8dd654a1ea18c10b439facb9933580ee6b61d342
trace_proto_gen/ftrace_to_proto.cc
trace_proto_gen/ftrace_to_proto_unittest.cc
|
87ab8b0823a84ab250034ff03155a25acb7cf5b5 |
06-Nov-2017 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "Add M format files and explore script"
|
34669a71a99f59e7883053d8015cb66d2faec2a8 |
06-Nov-2017 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "Add ftrace_proto_gen_unittests to ci"
|
7d5b253ad6af04089ebcd48ff31f4fd31a06571a |
26-Oct-2017 |
Hector Dearman <hjd@google.com> |
Add M format files and explore script 1) Add a set of format files for hammerhead, MRA59G, 3.4.0 2) Fix the pull_ftrace_format_files.py to handle \r in adb output 3) Add the ftrace explorer script: ./libftrace/test/explorer.html Change-Id: I330d2c3f1d95d321abacb2c08856fd17ac3edbcb
ull_ftrace_format_files.py
|
48d9eca8e59a96dfce3995ccd60b563c5b802604 |
31-Oct-2017 |
Primiano Tucci <primiano@google.com> |
Fix sanitizers README.md Change-Id: I2828cc6a1847ea0a4e55939905e0a460c6ca6aa1
anitizers_unittests/README.md
|
798bcdf9f85a24adb4fbc09dc623b1814abe1969 |
31-Oct-2017 |
Hector Dearman <hjd@google.com> |
Add ftrace_proto_gen_unittests to ci Change-Id: Ic0cca953704c244e6ed6e371fcf947f0c7922179
trace_proto_gen/BUILD.gn
trace_proto_gen/format_parser.cc
|
7278deabe0baf4c1ac08d21ffe400ebe1e820d6a |
31-Oct-2017 |
Primiano Tucci <primiano@google.com> |
Use custom libcxx by default on Linux and fix sanitizers This CL: - switches Linux to libcxx by default. - turns libcxx into a DSO for sanitizers. - fixes a bunch of sanitizers build files. - enables the sanitizers cross-checks on the CI. Background: There are mainly two C++ libraries around in the world: (i) GNU's libstdc++ and LLVM's libc++ (aka libcxx). By default Linux provides libstdc++ (even building with clang on Linux uses that by default) while Mac and Android switched to libcxx. buildtools/libcxx(abi) contains a fixed version of the libcxx, the same one that Chrome uses on most production configurations (% lagging catching up with our DEPS). The variable use_custom_libcxx tells our build system to prefer the aforementioned copy to the system one. Now, there are two reasons for using the /buildtools version of libcxx: 1) Sanitizers requires that the c++ library is built from sources, see https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo. 2) The libstdc++ situation is too wild on Linux. Modern debian distros are fine but Ubuntu Trusty still ships a libstdc++ that doesn't fully support C++11. Hence we enable this flag on Linux by default. We still retain libstdc++ coverage on the Travis bots by overriding use_custom_libcxx=false when we target a modern library (see the GCC7 target in .travis.yml). Bug: 68256752 Change-Id: I70a99351cff6582663101bf26583f20460076013
anitizers_unittests/sanitizers_unittest.cc
|
46c66db013d605c7fcd1bec36b528564454efce1 |
26-Oct-2017 |
Hector Dearman <hjd@google.com> |
First pass at generating protos from a whitelist Adds a script (tools/update_protos.py) which uses tools/ftrace_proto_gen to generate proto files from format files. Also adds an initial whitelist and matching protos. Usage: ./tools/update_protos.py out/linux/ftrace_proto_gen libftrace/test/data/android_seed_N2F62_3.10.49 protos --whitelist tools/ftrace_proto_gen/event_whitelist Change-Id: I0cfe41066cc1bed054087f41ee2f799d75e19bad
trace_proto_gen/event_whitelist
trace_proto_gen/ftrace_to_proto.cc
trace_proto_gen/ftrace_to_proto_unittest.cc
pdate_protos.py
|
7aa054727229d17a9c07d7741dd5a101390a2664 |
25-Oct-2017 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "Add script to extract format files"
|
70ce01d27c87f485f714cf92e55a053e9b510b06 |
24-Oct-2017 |
Hector Dearman <hjd@google.com> |
Remove extra whitespace from auto-generated protos This makes the auto-generated protos match clang formats desires. Change-Id: I73572f0f02c6b15676044faf350628e054d74dd9
trace_proto_gen/ftrace_to_proto.cc
|
355d7ba0294d439e157702a657dc3ab43e947c47 |
24-Oct-2017 |
Hector Dearman <hjd@google.com> |
Add script to extract format files Adds a Python script which extracts all files matching: /sys/kernel/debug/tracing/events/*/*/format From an Android device into a directory named: android_productname_buildid_kernelversion (e.g. android_seed_N2F62_3.10.49) The layout of the directory matches /sys/kernel/debug/tracing/events except it only contains the 'format' files. Usage: $ .tools/extract_formats.py $ ls android_seed_N2F62_3.10.49 $ find . -type f | grep sched_switch android_seed_N2F62_3.10.49/perf_trace_counters/sched_switch_with_ctrs/format android_seed_N2F62_3.10.49/sched/sched_switch/format Change-Id: If5beb4ea98bd7f7f710bcb6ca5d33a919339a4fc
ull_ftrace_format_files.py
|
b06bc48cdc615533c4f3c11efe2ab1cd2d108927 |
23-Oct-2017 |
Primiano Tucci <primiano@google.com> |
Move sanitizers_unittests under tools and add README The sanitizers unittests are not specific to libtracing. It makes more sense for them to be under tools/. Change-Id: I6fbb7e9c289039a1e866d044c5fe3b8b6e1eec07
anitizers_unittests/BUILD.gn
anitizers_unittests/README.md
anitizers_unittests/sanitizers_unittest.cc
|
be61adfb1a7ceacb1113832ef75be23cb932863f |
18-Oct-2017 |
Hector Dearman <hjd@google.com> |
Add format parser $ cat tools/ftrace_proto_gen/ion_alloc_buffer_end.format | ./out/linux/ftrace_proto_gen /dev/stdin /dev/stdout // Autogenerated, do not edit. syntax = "proto3"; message ion_alloc_buffer_end { string client_name = 1; string heap_name = 2; uint32 len = 3; uint32 mask = 4; uint32 flags = 5; } To test on a large corpus: $ wget https://hjd.users.x20web.corp.google.com/www/2017-10-10-perfetto-format-files/testdata.tar.gz $ tar -zxvf testdata.tar.gz $ rm testdata.tar.gz $ find testdata -type f | grep 'format' | while read f; do echo $f; python testdata/test_proto_gen.py out/linux/ftrace_proto_gen out/linux/gcc_like_host/protoc "$f"; done Change-Id: I8afa0097e681e5bbf4cbbf33501be006e14dc973
trace_proto_gen/BUILD.gn
trace_proto_gen/format_parser.cc
trace_proto_gen/format_parser.h
trace_proto_gen/format_parser_unittest.cc
trace_proto_gen/ftrace_to_proto.cc
trace_proto_gen/ftrace_to_proto.h
trace_proto_gen/ftrace_to_proto_unittest.cc
trace_proto_gen/main.cc
|