Commit 8d6ede9
committed
feat(create): propose the tracing backend the fleet already uses
Same as the ORM proposal, and rather than a second copy of it the group became
data: a probe names a catalog group, its members, and the dependency each member
leaves behind. Adding a group now means adding an entry.
Tracing differs from the ORM in one way that mattered. Neither backend is
recommended — OpenTelemetry versus Datadog is a vendor choice, not a better and a
worse — so a fleet using both cannot fall back on a recommendation the way a
mixed ORM fleet falls back on pg-prisma. It follows its own majority instead, and
a dead heat proposes NOTHING and says so ("This fleet is split evenly between
opentelemetry and dd-trace — your call"), because breaking the tie on catalog
order would look like advice while being arbitrary.
The "moving the fleet to X is worth considering" nudge is now derived rather than
hardcoded: it appears when the proposal is not the group's recommended member, so
the ORM group carries it and tracing, having no recommendation, does not.
One selection records overrides for every group it contradicts, so picking both a
different ORM and a different backend is remembered as two.
The cache grows a version: 2 holds per-group counts and overrides where 1 held
only the ORM. An older cache is discarded rather than migrated — it costs one
scan to rebuild.
17 fleet tests, and verified end to end: a Sequelize fleet traced with Datadog
preselects sequelize and dd-trace in one run, each with its reason, and the ORM
half still carries the pg-prisma recommendation.1 parent fdfa3db commit 8d6ede9
3 files changed
Lines changed: 425 additions & 182 deletions
0 commit comments