# Copyright 2017 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//chrome/common/features.gni") import("//services/service_manager/public/cpp/service.gni") import("//services/service_manager/public/service_manifest.gni") static_library("profiling") { sources = [ "address.h", "allocation_event.cc", "allocation_event.h", "allocation_tracker.cc", "allocation_tracker.h", "backtrace.cc", "backtrace.h", "backtrace_storage.cc", "backtrace_storage.h", "json_exporter.cc", "json_exporter.h", "memlog_connection_manager.cc", "memlog_connection_manager.h", "memlog_receiver.h", "memlog_receiver_pipe.cc", "memlog_receiver_pipe.h", "memlog_receiver_pipe_posix.cc", "memlog_receiver_pipe_posix.h", "memlog_receiver_pipe_win.cc", "memlog_receiver_pipe_win.h", "memlog_stream_parser.cc", "memlog_stream_parser.h", "memlog_stream_receiver.h", "profiling_service.cc", "profiling_service.h", ] deps = [ "//base", "//chrome/common", "//content/public/child", "//mojo/edk/system", "//services/resource_coordinator/public/cpp:resource_coordinator_cpp", "//third_party/zlib", ] } source_set("unit_tests") { testonly = true sources = [ "backtrace_storage_unittest.cc", "json_exporter_unittest.cc", "memlog_stream_parser_unittest.cc", ] deps = [ ":profiling", "//base", "//testing/gtest", ] } service_manifest("manifest") { name = "profiling" source = "profiling_manifest.json" } fuzzer_test("profiling_fuzzer") { sources = [ "memlog_stream_fuzzer.cc", ] deps = [ ":profiling", ] libfuzzer_options = [ "max_len = 64000" ] dict = "memlog_stream_fuzzer.dict" }