1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
pub(crate) mod controller;
pub mod gpu_metrics;
pub mod system_metrics;
pub mod wmi;
use std::time::Duration;
pub use gpu_metrics::*;
pub(crate) use system_metrics::*;
use win_util::ProcessType;
use crate::protos::event_details::EmulatorProcessType;
pub const METRICS_UPLOAD_INTERVAL: Duration = Duration::from_secs(60);
pub const API_GUEST_ANGLE_VK_ENUM_NAME: &str = "API_GUEST_ANGLE_VK";
pub const API_HOST_ANGLE_D3D_ENUM_NAME: &str = "API_HOST_ANGLE_D3D";
pub const API_UNKNOWN_ENUM_NAME: &str = "API_UNKNOWN";
#[derive(Debug)]
pub enum Error {
CannotCloneEvent,
CannotInstantiateEvent,
InstanceAlreadyExists,
}
pub type Result<T> = std::result::Result<T, Error>;
impl From<ProcessType> for EmulatorProcessType {
fn from(process_type: ProcessType) -> Self {
match process_type {
ProcessType::Block => EmulatorProcessType::PROCESS_TYPE_BLOCK,
ProcessType::Main => EmulatorProcessType::PROCESS_TYPE_MAIN,
ProcessType::Metrics => EmulatorProcessType::PROCESS_TYPE_METRICS,
ProcessType::Net => EmulatorProcessType::PROCESS_TYPE_NET,
ProcessType::Slirp => EmulatorProcessType::PROCESS_TYPE_SLIRP,
ProcessType::Gpu => EmulatorProcessType::PROCESS_TYPE_GPU,
ProcessType::Snd => EmulatorProcessType::PROCESS_TYPE_SOUND,
ProcessType::Broker => EmulatorProcessType::PROCESS_TYPE_BROKER,
ProcessType::Spu => EmulatorProcessType::PROCESS_TYPE_SPU,
ProcessType::UnknownType => panic!("Unknown process type found"),
}
}
}
|