|
[Hacky prototype] Create a shared-memory high-performance reporting service.
This is an exploration into ways to share high-frequency performance data from child services to a central aggregation service. I'd anticipate that BlamableObjects would route their data to appropriate structures in these shared memory segments and that the central service would asynchronously scrape the data on its own schedule. Round-trip IPC would only be required when new shared memory segments are required.
This is built on top of the PersistentMemoryAllocator infrastructure built for UMA. This is effectively a lock-free thread-safe allocator built with atomics and with performance in mind. It is self-describing and allows a remote process to iterate and discover data as it is written.
BUG=
Total comments: 5
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1155 lines, --1 lines) |
Patch |
|
M |
content/browser/BUILD.gn
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/service_manager/service_manager_context.cc
|
View
|
|
2 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/public/app/BUILD.gn
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
content/public/app/mojo/content_browser_manifest.json
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
services/BUILD.gn
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/BUILD.gn
|
View
|
|
1 chunk |
+100 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/blamer_service.h
|
View
|
|
1 chunk |
+35 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/blamer_service.cc
|
View
|
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/heap_object_types.h
|
View
|
|
1 chunk |
+29 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/heap_objects/blame_data.h
|
View
|
|
1 chunk |
+41 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/heap_objects/blame_data.cc
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A |
services/blamer/manifest.json
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/cpp/BUILD.gn
|
View
|
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/cpp/blame_classes.h
|
View
|
|
1 chunk |
+71 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/cpp/blame_node.h
|
View
|
|
1 chunk |
+102 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/cpp/blame_node.cc
|
View
|
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/cpp/blamer_interface.h
|
View
|
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/cpp/blamer_interface.cc
|
View
|
|
1 chunk |
+74 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/interfaces/BUILD.gn
|
View
|
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/interfaces/service_constants.mojom
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/public/interfaces/shared_memory_heap_registry.mojom
|
View
|
|
1 chunk |
+54 lines, -0 lines |
2 comments
|
Download
|
|
A |
services/blamer/service_main.cc
|
View
|
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/shared_memory_heap.h
|
View
|
|
1 chunk |
+155 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/shared_memory_heap.cc
|
View
|
|
1 chunk |
+143 lines, -0 lines |
3 comments
|
Download
|
|
A |
services/blamer/shared_memory_heap_registry.h
|
View
|
|
1 chunk |
+39 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/shared_memory_heap_registry.cc
|
View
|
|
1 chunk |
+93 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/blamer/unittest_manifest.json
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
Total messages: 10 (2 generated)
|