| load("@rules_java//java:defs.bzl", "java_library") | |
| package( | |
| default_applicable_licenses = ["//:license"], | |
| default_visibility = ["//src/main/java/com/google/devtools/build/lib:build_lib"], | |
| ) | |
| filegroup( | |
| name = "srcs", | |
| srcs = glob(["**"]), | |
| visibility = ["//src/main/java/com/google/devtools/build/lib:__pkg__"], | |
| ) | |
| java_library( | |
| name = "collect_local_resource_usage", | |
| srcs = [ | |
| "LocalResourceUsageCollectors.java", | |
| ], | |
| deps = [ | |
| ":counter_series_task_impl", | |
| ":network_metrics_collector", | |
| ":profiler", | |
| ":system_network_stats_service", | |
| "//src/main/java/com/google/devtools/build/lib/actions", | |
| "//src/main/java/com/google/devtools/build/lib/bugreport", | |
| "//src/main/java/com/google/devtools/build/lib/skyframe:sky_functions", | |
| "//src/main/java/com/google/devtools/build/lib/unix:procmeminfo_parser", | |
| "//src/main/java/com/google/devtools/build/lib/util:os", | |
| "//src/main/java/com/google/devtools/build/lib/util:resource_usage", | |
| "//src/main/java/com/google/devtools/build/lib/worker:worker_process_metrics", | |
| "//src/main/java/com/google/devtools/build/skyframe", | |
| "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", | |
| "//third_party/java/guava:base", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "auto_profiler", | |
| srcs = ["AutoProfiler.java"], | |
| deps = [ | |
| ":profiler", | |
| "//src/main/java/com/google/devtools/build/lib/clock", | |
| "//third_party/java/guava:annotations", | |
| "//third_party/java/guava:base", | |
| ], | |
| ) | |
| java_library( | |
| name = "memory_profiler", | |
| srcs = ["MemoryProfiler.java"], | |
| deps = [ | |
| ":profiler", | |
| "//src/main/java/com/google/devtools/build/lib/bugreport", | |
| "//src/main/java/com/google/devtools/build/lib/util:heap_offset_helper", | |
| "//src/main/java/com/google/devtools/build/lib/util:pair", | |
| "//src/main/java/com/google/devtools/common/options", | |
| "//third_party/java/guava:annotations", | |
| "//third_party/java/guava:base", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| # Profiler interface and helper classes. Available in both the SC and the LC. | |
| java_library( | |
| name = "profiler", | |
| srcs = [ | |
| "AsyncProfiler.java", | |
| "CounterSeriesCollector.java", | |
| "CounterSeriesTask.java", | |
| "ProfilePhase.java", | |
| "Profiler.java", | |
| "ProfilerTask.java", | |
| "SilentCloseable.java", | |
| "SlimProfileConfiguration.java", | |
| "SlowTask.java", | |
| "StatRecorder.java", | |
| "TimeSeries.java", | |
| "TraceProfilerService.java", | |
| ], | |
| deps = [ | |
| "//src/main/java/com/google/devtools/build/lib/clock", | |
| "//src/main/java/com/google/devtools/build/lib/runtime:blaze_service", | |
| "//src/main/java/com/google/devtools/build/lib/skybridge:skybridge_interface", | |
| "//src/main/java/com/google/devtools/common/options", | |
| "//third_party/java/error_prone:annotations", | |
| "//third_party/java/guava:concurrent", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "counter_series_task_impl", | |
| srcs = ["CounterSeriesTaskImpl.java"], | |
| deps = [ | |
| ":profiler", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "slow_task_impl", | |
| srcs = ["SlowTaskImpl.java"], | |
| deps = [ | |
| ":profiler", | |
| ], | |
| ) | |
| # SC only | |
| java_library( | |
| name = "profiler_impl", | |
| srcs = [ | |
| "CounterSeriesTraceData.java", | |
| "JsonTraceFileWriter.java", | |
| "MetricData.java", | |
| "PredicateBasedStatRecorder.java", | |
| "ResourceCollector.java", | |
| "SingleStatRecorder.java", | |
| "TaskData.java", | |
| "ThreadMetadata.java", | |
| "TimeSeriesImpl.java", | |
| "TraceData.java", | |
| "TraceProfilerServiceImpl.java", | |
| ], | |
| deps = [ | |
| ":counter_series_task_impl", | |
| ":profiler", | |
| ":slow_task_impl", | |
| "//src/main/java/com/google/devtools/build/lib/analysis:blaze_version_info", | |
| "//src/main/java/com/google/devtools/build/lib/clock", | |
| "//src/main/java/com/google/devtools/build/lib/collect:extrema", | |
| "//src/main/java/com/google/devtools/build/lib/concurrent:thread_safety", | |
| "//src/main/java/com/google/devtools/build/lib/runtime:blaze_service", | |
| "//src/main/java/com/google/devtools/build/lib/skybridge:sc_only", | |
| "//src/main/java/com/google/devtools/common/options", | |
| "//third_party/java/error_prone:annotations", | |
| "//third_party/java/gson", | |
| "//third_party/java/guava:annotations", | |
| "//third_party/java/guava:base", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/guava:concurrent", | |
| "//third_party/java/guava:io", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "command_profiler_module", | |
| srcs = ["CommandProfilerModule.java"], | |
| deps = [ | |
| "//src/main/java/com/google/devtools/build/lib/events", | |
| "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster", | |
| "//src/main/java/com/google/devtools/build/lib/vfs", | |
| "//src/main/java/com/google/devtools/common/options", | |
| "//third_party/java/async_profiler", | |
| "//third_party/java/flogger", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "network_metrics_collector", | |
| srcs = ["NetworkMetricsCollector.java"], | |
| deps = [ | |
| ":system_network_stats_service", | |
| "//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:build_event_stream_java_proto", | |
| "//third_party/java/flogger", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "system_network_stats_service", | |
| srcs = ["SystemNetworkStatsService.java"], | |
| deps = [ | |
| "//src/main/java/com/google/devtools/build/lib/runtime:blaze_service", | |
| "//src/main/java/com/google/devtools/build/lib/skybridge:skybridge_interface", | |
| ], | |
| ) | |
| java_library( | |
| name = "system_network_stats_service_impl", | |
| srcs = [ | |
| "SystemNetworkStatsServiceImpl.java", | |
| ], | |
| deps = [ | |
| ":system_network_stats_service", | |
| "//src/main/java/com/google/devtools/build/lib/jni", | |
| "//src/main/java/com/google/devtools/build/lib/skybridge:sc_only", | |
| "//src/main/java/com/google/devtools/build/lib/util:os", | |
| "//third_party/java/guava:base", | |
| ], | |
| ) | |
| java_library( | |
| name = "google-auto-profiler-utils", | |
| srcs = ["GoogleAutoProfilerUtils.java"], | |
| deps = [ | |
| ":auto_profiler", | |
| ":profiler", | |
| "//third_party/java/flogger", | |
| "//third_party/java/guava:base", | |
| ], | |
| ) | |
| java_library( | |
| name = "profiler-output", | |
| testonly = 1, | |
| srcs = | |
| [ | |
| "JsonProfile.java", | |
| "TraceEvent.java", | |
| ] + glob([ | |
| "output/*.java", | |
| "statistics/*.java", | |
| ]), | |
| deps = [ | |
| ":profiler", | |
| "//src/main/java/com/google/devtools/build/lib/util", | |
| "//third_party/java/gson", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/jsr305_annotations", | |
| ], | |
| ) |