Skip to content
This repository was archived by the owner on Nov 1, 2023. It is now read-only.

Commit 42c4f62

Browse files
authored
Remove rest of unused telemetry (#2863)
1 parent 9d3321b commit 42c4f62

File tree

4 files changed

+3
-164
lines changed

4 files changed

+3
-164
lines changed

docs/telemetry.md

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -182,65 +182,3 @@ recorded:
182182
* Machine ID
183183
* State - the current state of the task on the node. For a full list, see the
184184
enum [NodeTaskState](../src/pytypes/onefuzztypes/enums.py).
185-
186-
187-
### Data recorded by an upcoming feature
188-
189-
The following information is recorded for Salvo related tasks:
190-
191-
* InputsFuzzed - A u64 representing the count of inputs that were symbolically
192-
executed.
193-
* SatConstraints - A u64 representing the count of satisfiable constraints and
194-
hence number new inputs generated.
195-
* UnsatConstraints - A u64 representing the count of unsatisfiable constraints.
196-
* AverageVarsPerConstraint - A float64 representing the average count of input
197-
bytes used per constraint over all of the inputs fuzzed.
198-
* MaxConstraintVars - A u64 representing the maximum count of input bytes used
199-
for any single constraint.
200-
* AverageSymexTime - A float64 representing the average time in seconds spent
201-
symbolically executing the program under test over all inputs fuzzed.
202-
* MaxSymexTime - A u64 representing the maximum time in seconds spent
203-
symbolically executing the program under test for a single input.
204-
* AverageSolvingTime - A float64 representing the average time in seconds spent
205-
solving constraints over all inputs fuzzed.
206-
* MaxSolvingTime - A u64 representing the maximum time in seconds spent solving
207-
constraints for any single input.
208-
* UniqueCodeLocationCount - A u64 representing the count of the unique code
209-
locations that are of interest to Salvo, e.g. a tainted instruction or branch
210-
target.
211-
* AverageInstructionsExecuted - A float64 representing the average count of
212-
instructions that were symbolically executed over all fuzzed inputs.
213-
* MaxInstructionsExecuted - A u64 representing the maximum count of
214-
instructions that were symbolically executed for any single fuzzed input.
215-
* AverageTaintedInstructions - A float64 representing the count of instructions
216-
that make use of tainted input over all inputs fuzzed.
217-
* MaxTaintedInstructions - A u64 representing the count of instructions that
218-
make use of tainted input for any single input.
219-
* AverageMemoryTaintedInstructions - A float64 representing the count of
220-
instructions that make use of tainted input to read or write memory over all
221-
inputs fuzzed.
222-
* MaxMemoryTaintedInstructions - A u64 representing the count of instructions
223-
that make use of tainted input to read or write memory for any single input.
224-
* AveragePathLength - A u64 representing the count of the average constraints
225-
tracked for constraint solving while symbolically executing the program.
226-
* MaxPathLength - A u64 representing the count of the maximum constraints
227-
tracked for constraint solving while symbolically executing the program.
228-
* DivergenceRate - A float64 representing the ratio of inputs that did not
229-
branch as expected divided by the number of inputs fuzzed.
230-
* DivergencePathLength - A u32 that indicates the length of execution path
231-
divergence.
232-
* DivergencePathExpectedIndex - A u32 that indicates the expected index for
233-
divergence.
234-
* DivergencePathActualIndex - A u32 that indicates the actual index for
235-
divergence.
236-
* MissedInstructionCode - The Intel Instruction code for an instruction that
237-
was not modelled during symbolic execution but may have been input tainted.
238-
Examples include `Cmovs_r16_rm16` and `Movq_mm_rm64`. For the full list, see
239-
[iced_x86::Code](https://docs.rs/iced-x86/1.10.3/iced_x86/enum.Code.html).
240-
* MissedInstructionMnemonic - The Intel Instruction that was not modelled
241-
during symbolic execution but may have been input tainted. Examples include
242-
`Cmovs` and `Movq`. For the full list, see
243-
[iced_x86::mnemonic](https://docs.rs/iced-x86/1.10.3/iced_x86/enum.Mnemonic.html).
244-
* SymexTimeout - A u64 representing the maximum time in seconds to spend during
245-
symbolic execution, reported each time symbolic execution was stopped due to
246-
the limit.

src/agent/Cargo.lock

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/agent/onefuzz-telemetry/Cargo.toml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,12 @@ authors = ["fuzzing@microsoft.com"]
55
edition = "2018"
66
license = "MIT"
77

8-
[features]
9-
default = []
10-
intel_instructions = ["iced-x86"]
11-
128
[dependencies]
139
anyhow = "1.0"
1410
appinsights = { version = "0.2.3" }
11+
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
12+
lazy_static = "1.4"
1513
log = "0.4"
16-
uuid = { version = "0.8", features = ["serde", "v4"] }
1714
serde = { version = "1.0", features = ["derive"] }
18-
iced-x86 = { version = "1.17", optional = true}
1915
tokio = { version = "1.24", features = ["full"] }
20-
lazy_static = "1.4"
21-
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
16+
uuid = { version = "0.8", features = ["serde", "v4"] }

src/agent/onefuzz-telemetry/src/lib.rs

Lines changed: 0 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// Licensed under the MIT License.
33

44
use chrono::DateTime;
5-
#[cfg(feature = "intel_instructions")]
6-
use iced_x86::{Code as IntelInstructionCode, Mnemonic as IntelInstructionMnemonic};
75
use serde::{Deserialize, Serialize};
86
use std::fmt;
97
use std::sync::{LockResult, RwLockReadGuard, RwLockWriteGuard};
@@ -135,33 +133,6 @@ pub enum EventData {
135133
ToolName(String),
136134
Region(String),
137135
Role(Role),
138-
InputsFuzzed(u64),
139-
SatConstraints(u64),
140-
UnsatConstraints(u64),
141-
AverageVarsPerConstraint(u64),
142-
MaxConstraintVars(u64),
143-
AverageSymexTime(f64),
144-
MaxSymexTime(u64),
145-
AverageSolvingTime(f64),
146-
MaxSolvingTime(u64),
147-
UniqueCodeLocationCount(u64),
148-
AverageInstructionsExecuted(f64),
149-
MaxInstructionsExecuted(u64),
150-
AverageTaintedInstructions(f64),
151-
MaxTaintedInstructions(u64),
152-
AverageMemoryTaintedInstructions(f64),
153-
MaxMemoryTaintedInstructions(u64),
154-
AveragePathLength(f64),
155-
MaxPathLength(u64),
156-
DivergenceRate(f64),
157-
DivergencePathLength(u32),
158-
DivergencePathExpectedIndex(u32),
159-
DivergencePathActualIndex(u32),
160-
#[cfg(feature = "intel_instructions")]
161-
MissedInstructionCode(IntelInstructionCode),
162-
#[cfg(feature = "intel_instructions")]
163-
MissedInstructionMnemonic(IntelInstructionMnemonic),
164-
SymexTimeout(u64),
165136
}
166137

167138
impl EventData {
@@ -199,43 +170,6 @@ impl EventData {
199170
Self::ToolName(x) => ("tool_name", x.to_owned()),
200171
Self::Region(x) => ("region", x.to_owned()),
201172
Self::Role(x) => ("role", x.as_str().to_owned()),
202-
#[cfg(feature = "intel_instructions")]
203-
Self::MissedInstructionCode(x) => ("missed_instruction_code", format!("{:?}", x)),
204-
#[cfg(feature = "intel_instructions")]
205-
Self::MissedInstructionMnemonic(x) => {
206-
("missed_instruction_mnemonic", format!("{:?}", x))
207-
}
208-
Self::InputsFuzzed(x) => ("inputs_fuzzed", x.to_string()),
209-
Self::SatConstraints(x) => ("sat_constraints", x.to_string()),
210-
Self::UnsatConstraints(x) => ("unsat_constraints", x.to_string()),
211-
Self::AverageVarsPerConstraint(x) => ("average_vars_per_constraint", x.to_string()),
212-
Self::MaxConstraintVars(x) => ("max_constraint_vars", x.to_string()),
213-
Self::AverageSymexTime(x) => ("average_symex_time", x.to_string()),
214-
Self::MaxSymexTime(x) => ("max_symex_time", x.to_string()),
215-
Self::AverageSolvingTime(x) => ("average_solving_time", x.to_string()),
216-
Self::MaxSolvingTime(x) => ("max_solving_time", x.to_string()),
217-
Self::UniqueCodeLocationCount(x) => ("unique_code_locations_count", x.to_string()),
218-
Self::AverageInstructionsExecuted(x) => {
219-
("average_instructions_executed", x.to_string())
220-
}
221-
Self::MaxInstructionsExecuted(x) => ("max_instructions_executed", x.to_string()),
222-
Self::AverageTaintedInstructions(x) => ("average_tainted_instructions", x.to_string()),
223-
Self::MaxTaintedInstructions(x) => ("max_tainted_instructions", x.to_string()),
224-
Self::AverageMemoryTaintedInstructions(x) => {
225-
("average_memory_tainted_instructions", x.to_string())
226-
}
227-
Self::MaxMemoryTaintedInstructions(x) => {
228-
("max_memory_tainted_instructions", x.to_string())
229-
}
230-
Self::AveragePathLength(x) => ("average_path_length", x.to_string()),
231-
Self::MaxPathLength(x) => ("max_path_length", x.to_string()),
232-
Self::DivergenceRate(x) => ("divergence_rate", x.to_string()),
233-
Self::DivergencePathLength(x) => ("divergence_path_length", x.to_string()),
234-
Self::DivergencePathExpectedIndex(x) => {
235-
("divergence_path_expected_index", x.to_string())
236-
}
237-
Self::DivergencePathActualIndex(x) => ("divergence_path_actual_index", x.to_string()),
238-
Self::SymexTimeout(x) => ("symex_timeout", x.to_string()),
239173
}
240174
}
241175

@@ -273,33 +207,6 @@ impl EventData {
273207
Self::ToolName(_) => true,
274208
Self::Region(_) => false,
275209
Self::Role(_) => true,
276-
Self::InputsFuzzed(_) => true,
277-
Self::SatConstraints(_) => true,
278-
Self::UnsatConstraints(_) => true,
279-
Self::AverageVarsPerConstraint(_) => true,
280-
Self::MaxConstraintVars(_) => true,
281-
Self::AverageSymexTime(_) => true,
282-
Self::MaxSymexTime(_) => true,
283-
Self::AverageSolvingTime(_) => true,
284-
Self::MaxSolvingTime(_) => true,
285-
Self::UniqueCodeLocationCount(_) => true,
286-
Self::AverageInstructionsExecuted(_) => true,
287-
Self::MaxInstructionsExecuted(_) => true,
288-
Self::AverageTaintedInstructions(_) => true,
289-
Self::MaxTaintedInstructions(_) => true,
290-
Self::AverageMemoryTaintedInstructions(_) => true,
291-
Self::MaxMemoryTaintedInstructions(_) => true,
292-
Self::AveragePathLength(_) => true,
293-
Self::MaxPathLength(_) => true,
294-
Self::DivergenceRate(_) => true,
295-
Self::DivergencePathLength(_) => true,
296-
Self::DivergencePathExpectedIndex(_) => true,
297-
Self::DivergencePathActualIndex(_) => true,
298-
#[cfg(feature = "intel_instructions")]
299-
Self::MissedInstructionCode(_) => true,
300-
#[cfg(feature = "intel_instructions")]
301-
Self::MissedInstructionMnemonic(_) => true,
302-
Self::SymexTimeout(_) => true,
303210
}
304211
}
305212
}

0 commit comments

Comments
 (0)