Saltar al contenido
Telemetry
Análisis de producto

product_milestone_completed esquema de evento

Un sobre de hitos genérico para resultados estables del producto, como conectar una fuente, ejecutar una primera consulta o publicar un panel.

Revisado por el equipo de producto Telemetry en . Grano de eventos, propiedad, tipos de campos, clasificación de privacidad, carga útil de ejemplo y validación. Revisar los estándares y la propiedad

Pregunta que este contrato responde

¿Qué cuentas alcanzan los momentos duraderos que definen la activación?

Campos
8
Requerido
8
Ruta de evidencia del contrato

product_milestone_completed: del límite propio a la consulta confiable

Trate a product_milestone_completed como un contrato analítico duradero: el propietario emite un grano documentado, un dispositivo prueba los campos y una consulta revisada responde a la pregunta formulada.

  1. 1

    El resultado se vuelve definitivo

    Product service that commits the milestone emits only only after the underlying product state has been committed.

  2. 2

    El contrato está limitado.

    8 required fields preserve the declared grain: One completed milestone per actor, account, and occurrence.

  3. 3

    El accesorio está verificado

    Tipos de verificación, hora UTC, resultados alternativos, idempotencia y todos los campos seudónimos o clasificados por revisión.

  4. 4

    La pregunta esta respondida

    ¿Qué cuentas alcanzan los momentos duraderos que definen la activación?

grano

Un hito completado por actor, cuenta y ocurrencia.

propietario

Servicio de producto que compromete el hito.

Emitir cuando

Solo después de que se haya confirmado el estado subyacente del producto.

Contrato de campo

Campos escritos con límites de privacidad explícitos

Mantenga estables los nombres y tipos de campos existentes después de que las consultas de producción dependan de ellos. El contexto opcional debe permanecer limitado, documentado y justificado por una decisión específica.

CampoTipoRequeridoPrivacidadSignificado
timestamp_utctimestampyesnon-sensitiveHora UTC en el límite del resultado.
event_idstringyesnon-sensitiveIdentificador único estable utilizado para la deduplicación.
releasestringyesnon-sensitiveVersión de la aplicación o servicio que emitió el evento.
account_idstringyespseudonymousIdentificador de cuenta interno estable, nunca un correo electrónico o nombre.
user_idstringyespseudonymousIdentificador de actor interno estable.
milestone_namestringyesnon-sensitiveNombre de hito versionado y de baja cardinalidad.
featurestringyesnon-sensitiveSuperficie del producto propietaria del hito.
statusstringyesnon-sensitiveResultado final de éxito o error.

Evento JSON sintético

{
  "timestamp_utc": "2026-07-28T14:12:19Z",
  "event_id": "evt_milestone_01",
  "account_id": "acct_8f31",
  "release": "2026.07.2",
  "user_id": "user_91ac",
  "milestone_name": "dashboard_published",
  "feature": "dashboards",
  "status": "success"
}

Revisión de privacidad

Revisar los identificadores antes de la ingestión

Este ejemplo utiliza identificadores sintéticos. Los valores seudónimos aún pueden ser datos personales y los campos de revisión pueden exponer el contexto empresarial o del proveedor. Aplique sus propios requisitos de consentimiento, retención, acceso, residencia y eliminación.

  • account_id: pseudonymous
  • user_id: pseudonymous

Lista de verificación de validación

Pruebe el contrato antes de crear un panel

  • Send one known product_milestone_completed fixture after the documented outcome boundary.
  • Verify all 8 required fields arrive with the documented types.
  • Vuelva a intentar el mismo identificador de evento y confirme el comportamiento de deduplicación elegido.
  • Envíe un error controlado o un resultado alternativo cuando el flujo de trabajo lo admita.
  • Ejecute el SQL relacionado en una ventana fija y concilie el resultado con el dispositivo.

Errores comunes

Mantenga una fila igual a un resultado duradero

  • Emitting product_milestone_completed before product service that commits the milestone knows the final outcome.
  • Mezclar varios granos en una tabla, lo que hace que los recuentos y tasas sean ambiguos.
  • Reemplazar categorías controladas con URL sin formato, cargas útiles, mensajes o texto de error.
  • De ello depende el cambio de un tipo de campo después de las consultas y los paneles guardados.
  • Agregar identificadores sin una necesidad documentada de investigación, acceso y retención.

Usa el contrato

Consultar y operacionalizar el evento.

Contratos relacionados

Enviar un dispositivo antes del tráfico de producción.

Cree una clave API gratuita, envíe el evento sintético e inspeccione la tabla inferida antes de conectar un flujo de trabajo en vivo.

Pruebe este esquema