Skip to content

Commit e43bf05

Browse files
jkelleyrtpealmloff
andauthored
add basic crash analytics and very light telemetry to dioxus-cli (#4224)
* wip * wip: basic telemetry * fix merge * keep errors for telemetry * fix upload when queued events are empty * add per session id and keep track of build timing * keep track of what commands are run * capture panics * keep track of panics * better path stripping * better tracing error telemetry * only sync every week and check settings before sending any telemetry * keep track of the args passed to commands * anonymize commands * more error tolerant * wip * wip * wip * merge cnflict * other merg conflict * migrate everything from telemetry to logging * update docs * wip... about to merge trace controller * lil bit more refactor to clean up tracer * more performant log writer * cleanup ci detecting * wire up to posthog * re-uploads work * yoink out the anon from each file * cleanup sig * lil bit cleaner * dont write empty files * wip log handler * fmt * cleanup logging of backtraces * add proper backtrace support * use stable reporter * adhere to posthog format * fix stacktraces * use anyhow for capturing backtraces * I think we're done? * cleanup logging * properly collect! * move out keycode handling * she works * typo * add extra fields * fix cargo doc --------- Co-authored-by: Evan Almloff <[email protected]>
1 parent a610aae commit e43bf05

30 files changed

+1733
-426
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ members = [
66
"packages/core-types",
77
"packages/cli",
88
"packages/cli-opt",
9+
"packages/cli-config",
10+
"packages/cli-telemetry",
911
"packages/core-types",
1012
"packages/core-macro",
1113
"packages/config-macro",
@@ -22,8 +24,6 @@ members = [
2224
"packages/liveview",
2325
"packages/autofmt",
2426
"packages/check",
25-
"packages/cli-config",
26-
"packages/cli",
2727
"packages/config-macro",
2828
"packages/core-macro",
2929
"packages/core-types",
@@ -140,6 +140,7 @@ version = "0.7.0-alpha.3"
140140
# dependencies that are shared across packages
141141
[workspace.dependencies]
142142
dioxus = { path = "packages/dioxus", version = "0.7.0-alpha.3" }
143+
dioxus-lib = { path = "packages/dioxus-lib", version = "0.7.0-alpha.3" }
143144
dioxus-core = { path = "packages/core", version = "0.7.0-alpha.3" }
144145
dioxus-core-types = { path = "packages/core-types", version = "0.7.0-alpha.3" }
145146
dioxus-core-macro = { path = "packages/core-macro", version = "0.7.0-alpha.3" }
@@ -155,6 +156,7 @@ dioxus-web = { path = "packages/web", version = "0.7.0-alpha.3", default-feature
155156
dioxus-isrg = { path = "packages/isrg", version = "0.7.0-alpha.3" }
156157
dioxus-ssr = { path = "packages/ssr", version = "0.7.0-alpha.3", default-features = false }
157158
dioxus-desktop = { path = "packages/desktop", version = "0.7.0-alpha.3", default-features = false }
159+
dioxus-mobile = { path = "packages/mobile", version = "0.7.0-alpha.3" }
158160
dioxus-interpreter-js = { path = "packages/interpreter", version = "0.7.0-alpha.3" }
159161
dioxus-liveview = { path = "packages/liveview", version = "0.7.0-alpha.3" }
160162
dioxus-autofmt = { path = "packages/autofmt", version = "0.7.0-alpha.3" }
@@ -165,8 +167,6 @@ dioxus-rsx-rosetta = { path = "packages/rsx-rosetta", version = "0.7.0-alpha.3"
165167
dioxus-signals = { path = "packages/signals", version = "0.7.0-alpha.3" }
166168
dioxus-stores = { path = "packages/stores", version = "0.7.0-alpha.3" }
167169
dioxus-stores-macro = { path = "packages/stores-macro", version = "0.7.0-alpha.3" }
168-
dioxus-cli-config = { path = "packages/cli-config", version = "0.7.0-alpha.3" }
169-
dioxus-cli-opt = { path = "packages/cli-opt", version = "0.7.0-alpha.3" }
170170
dioxus-devtools = { path = "packages/devtools", version = "0.7.0-alpha.3" }
171171
dioxus-devtools-types = { path = "packages/devtools-types", version = "0.7.0-alpha.3" }
172172
dioxus-server = { path = "packages/server", version = "0.7.0-alpha.3" }
@@ -180,11 +180,19 @@ dioxus-native = { path = "packages/native", version = "0.7.0-alpha.3" }
180180
dioxus-native-dom = { path = "packages/native-dom", version = "0.7.0-alpha.3" }
181181
dioxus-asset-resolver = { path = "packages/asset-resolver", version = "0.7.0-alpha.3" }
182182
dioxus-config-macros = { path = "packages/config-macros", version = "0.7.0-alpha.3" }
183-
const-serialize = { path = "packages/const-serialize", version = "0.7.0-alpha.3" }
184-
const-serialize-macro = { path = "packages/const-serialize-macro", version = "0.7.0-alpha.3" }
183+
185184
generational-box = { path = "packages/generational-box", version = "0.7.0-alpha.3" }
186185
lazy-js-bundle = { path = "packages/lazy-js-bundle", version = "0.7.0-alpha.3" }
187186

187+
# cli
188+
dioxus-cli-opt = { path = "packages/cli-opt", version = "0.7.0-alpha.0" }
189+
dioxus-cli-telemetry = { path = "packages/cli-telemetry", version = "0.7.0-alpha.0" }
190+
dioxus-cli-config = { path = "packages/cli-config", version = "0.7.0-alpha.0" }
191+
192+
# const-serializea
193+
const-serialize = { path = "packages/const-serialize", version = "0.7.0-alpha.0" }
194+
const-serialize-macro = { path = "packages/const-serialize-macro", version = "0.7.0-alpha.0" }
195+
188196
# subsecond
189197
subsecond-types = { path = "packages/subsecond/subsecond-types", version = "0.7.0-alpha.3" }
190198
subsecond = { path = "packages/subsecond/subsecond", version = "0.7.0-alpha.3" }

packages/cli-telemetry/Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
name = "dioxus-cli-telemetry"
3+
edition = "2021"
4+
version.workspace = true
5+
description = "Wire format for the dioxus CLI telemetry type"
6+
7+
[dependencies]
8+
serde = { workspace = true, features = ["derive"] }
9+
chrono = { workspace = true, features = ["serde"] }
10+
rand = { workspace = true }
11+
serde_json = { workspace = true }
12+
dirs = { workspace = true }
13+
uuid = { workspace = true, features = ["serde", "v4"] }

0 commit comments

Comments
 (0)