OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "services/service_manager/embedder/main.h" | 5 #include "services/service_manager/embedder/main.h" |
6 | 6 |
7 #include "base/allocator/features.h" | 7 #include "base/allocator/features.h" |
8 #include "base/at_exit.h" | 8 #include "base/at_exit.h" |
9 #include "base/base_switches.h" | 9 #include "base/base_switches.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "base/threading/sequenced_worker_pool.h" | 23 #include "base/threading/sequenced_worker_pool.h" |
24 #include "base/threading/thread.h" | 24 #include "base/threading/thread.h" |
25 #include "base/trace_event/trace_config.h" | 25 #include "base/trace_event/trace_config.h" |
26 #include "base/trace_event/trace_log.h" | 26 #include "base/trace_event/trace_log.h" |
27 #include "build/build_config.h" | 27 #include "build/build_config.h" |
28 #include "components/tracing/common/trace_to_console.h" | 28 #include "components/tracing/common/trace_to_console.h" |
29 #include "components/tracing/common/tracing_switches.h" | 29 #include "components/tracing/common/tracing_switches.h" |
30 #include "mojo/edk/embedder/configuration.h" | 30 #include "mojo/edk/embedder/configuration.h" |
31 #include "mojo/edk/embedder/embedder.h" | 31 #include "mojo/edk/embedder/embedder.h" |
32 #include "mojo/edk/embedder/scoped_ipc_support.h" | 32 #include "mojo/edk/embedder/scoped_ipc_support.h" |
| 33 #include "services/resource_coordinator/public/cpp/tracing/chrome_agent.h" |
33 #include "services/service_manager/embedder/main_delegate.h" | 34 #include "services/service_manager/embedder/main_delegate.h" |
34 #include "services/service_manager/embedder/process_type.h" | 35 #include "services/service_manager/embedder/process_type.h" |
35 #include "services/service_manager/embedder/set_process_title.h" | 36 #include "services/service_manager/embedder/set_process_title.h" |
36 #include "services/service_manager/embedder/shared_file_util.h" | 37 #include "services/service_manager/embedder/shared_file_util.h" |
37 #include "services/service_manager/embedder/switches.h" | 38 #include "services/service_manager/embedder/switches.h" |
38 #include "services/service_manager/public/cpp/service.h" | 39 #include "services/service_manager/public/cpp/service.h" |
39 #include "services/service_manager/public/cpp/service_context.h" | 40 #include "services/service_manager/public/cpp/service_context.h" |
40 #include "services/service_manager/public/cpp/standalone_service/standalone_serv
ice.h" | 41 #include "services/service_manager/public/cpp/standalone_service/standalone_serv
ice.h" |
41 #include "services/service_manager/runner/common/client_util.h" | 42 #include "services/service_manager/runner/common/client_util.h" |
42 #include "services/service_manager/runner/common/switches.h" | 43 #include "services/service_manager/runner/common/switches.h" |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 std::unique_ptr<Service> service = | 311 std::unique_ptr<Service> service = |
311 delegate->CreateEmbeddedService(service_name); | 312 delegate->CreateEmbeddedService(service_name); |
312 if (!service) { | 313 if (!service) { |
313 LOG(ERROR) << "Failed to start embedded service: " << service_name; | 314 LOG(ERROR) << "Failed to start embedded service: " << service_name; |
314 *exit_code = 1; | 315 *exit_code = 1; |
315 return; | 316 return; |
316 } | 317 } |
317 | 318 |
318 ServiceContext context(std::move(service), std::move(request)); | 319 ServiceContext context(std::move(service), std::move(request)); |
319 context.SetQuitClosure(run_loop.QuitClosure()); | 320 context.SetQuitClosure(run_loop.QuitClosure()); |
| 321 |
| 322 resource_coordinator::tracing::mojom::AgentSetPtr agent_set; |
| 323 context.connector()->BindInterface("tracing", |
| 324 mojo::MakeRequest(&agent_set)); |
| 325 resource_coordinator::tracing::ChromeAgent::InitializeIfNeeded( |
| 326 std::move(agent_set)); |
| 327 |
320 run_loop.Run(); | 328 run_loop.Run(); |
321 }, | 329 }, |
322 delegate, &exit_code)); | 330 delegate, &exit_code)); |
323 | 331 |
324 return exit_code; | 332 return exit_code; |
325 } | 333 } |
326 | 334 |
327 } // namespace | 335 } // namespace |
328 | 336 |
329 MainParams::MainParams(MainDelegate* delegate) : delegate(delegate) {} | 337 MainParams::MainParams(MainDelegate* delegate) : delegate(delegate) {} |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 autorelease_pool.reset(); | 479 autorelease_pool.reset(); |
472 #endif | 480 #endif |
473 | 481 |
474 if (process_type == ProcessType::kEmbedder) | 482 if (process_type == ProcessType::kEmbedder) |
475 delegate->ShutDownEmbedderProcess(); | 483 delegate->ShutDownEmbedderProcess(); |
476 | 484 |
477 return exit_code; | 485 return exit_code; |
478 } | 486 } |
479 | 487 |
480 } // namespace service_manager | 488 } // namespace service_manager |
OLD | NEW |