Builds en el panel

El registro de cada build Pro Cloud: cobertura, inflación, complejidad, tiempo de build, coste, diagnósticos y el Protection Map.

Cada build Pro Cloud deja un registro: cuándo se ejecutó, de qué commit salió, cuánto costó, qué parte pudo transformar el motor y qué informó el motor mientras lo hacía. Los builds locales Free nunca contactan con AfterPack, así que nunca aparecen aquí.

La lista de builds

Todos los builds de un proyecto, del más reciente al más antiguo.

ColumnaQué es
EjecutadoCuándo se ejecutó el build.
CommitEl SHA de git que AfterPack detectó para el build (consulta seed), mostrado en forma corta y copiado completo, lo que empareja la fila con un despliegue.
ArchivosArchivos de salida que este build envió a AfterPack, sin contar los archivos fuente que contienen.
SalidaLo que se publicó tras la protección.
FacturadoLos bytes de entrada que procesó AfterPack. Es lo que se te cobra.
Tiempo de buildEl tiempo que AfterPack añadió al build, medido en el edge; los builds más antiguos no tienen este registro, así que esas filas lo muestran como ausente en lugar de 0.
CoberturaProporción de la salida recibida que el motor tuvo libertad para transformar.
InflaciónSalida ÷ entrada. Es lo que la protección les cuesta descargar a tus usuarios.

La lista muestra los builds más recientes de este proyecto. Mientras ves un build, la barra lateral anida bajo Builds los builds cercanos de ese proyecto, para que puedas comparar dos con un clic.

Un build, al completo

Abre una fila y la cabecera muestra el commit (o el id del build si no hay contexto de git) y el botón Ver Protection Map, o una etiqueta Sin mapa guardado cuando no hay nada que abrir.

Resultado

Cuatro cifras, y cada una responde a una pregunta distinta.

  • Cobertura: la proporción de la salida recibida que el motor tuvo libertad para transformar.
  • Inflación: tamaño de salida ÷ entrada, la cifra que pagan tus usuarios. Es de esperar cierto crecimiento, porque las transformaciones que dificultan la lectura del código ocupan espacio.
  • Complejidad: la complejidad media alcanzada sobre los bytes elegibles, mostrada frente al objetivo de este build (score / target). La complejidad es orientativa y no mide la seguridad.
  • Tamaño: lo que entró y lo que se publicó.

Composición de la cobertura

Adónde fue cada byte de la entrada. Las bandas suman la entrada, y sus proporciones coinciden con la Cobertura de arriba.

BandaSignificado
ElegibleBytes que el motor tuvo libertad para transformar.
Preservado (seguridad)Bytes que el motor no pudo alcanzar porque no podía representar esas construcciones de forma segura.
Preservado (reflexión)Bytes preservados porque tu código usa reflexión en tiempo de ejecución.
Excluido por tiArchivos que coinciden con tu ajuste paths.exclude, omitidos antes del análisis sintáctico y devueltos sin cambios.
Omitido por tiRegiones que marcaste con /* @afterpack skip */.
No contabilizadoBytes de entrada que no están en ninguna otra banda.

Junto a las bandas: puntos débiles (cadenas de tu código fuente que siguen legibles en la salida, sin contar los nombres de propiedades; abre el mapa para ver dónde están) y directivas (los marcadores @afterpack que el motor encontró en tu código fuente y que se registran aquí; así es como confirmas que se aplicó una).

Archivos fuente

Un treemap de cada archivo fuente del build, dimensionado por los bytes que entraron y coloreado según hasta dónde llegó el motor: las celdas grises no tenían nada sobre lo que actuar, las rojas indican que algo salió mal, y de naranja a verde va de débil a fuerte. Las celdas cubren solo la salida que se puede rastrear hasta un archivo, aproximadamente la mitad de lo que publicas, así que la inflación de una celda no es la inflación del build. El resto es el runtime que AfterPack inyecta una vez por bundle. El código de runtime compartido no tiene celda, y por eso un build se infla más que cualquier archivo por separado.

Esta fila está reservada a los planes de pago: un espacio de trabajo Free ve un estado bloqueado en lugar del treemap, aunque todas las demás filas de la página del build son gratuitas.

Captura de archivos de salida

Indica cuántos de los archivos de salida del build se pueden ver en el mapa guardado y qué pasó con el resto; no mide la protección, ya que todos los archivos se ofuscaron, se capturaran o no. Una excepción: si un build alcanza el límite de tiempo de AfterPack, deja de empezar archivos nuevos y todos los archivos restantes fallan. Vuelve a ejecutar el build o divídelo en builds más pequeños.

Tiempo

El tiempo que el build pasó en el edge de AfterPack, incluida la espera hasta que se descarga la respuesta. Una buena parte corresponde al Protection Map: generarlo y devolverlo se suma al tiempo de ofuscación, así que desactivar la captura en los ajustes del proyecto recupera ese tiempo.

Facturación

Lo que este build consumió de tu espacio de trabajo: Medido (los bytes de entrada facturados) y de dónde salió: Asignación, Crédito (Extra MB), Exceso.

Diagnósticos

Lo que el motor informó mientras ofuscaba este build, agrupado por un código estable con un recuento; como se trata de tu propio build en tu propio espacio de trabajo, también ves el mensaje y el archivo de cada entrada. Las entradas informativas son de esperar, así que solo se destacan los errores y los críticos.

La página indica cuál de estas tres cosas ocurrió: se registraron entradas, el build estaba limpio y no informó de nada, o AfterPack no tiene ningún registro, que es lo que deja un build Free.

Cada código es estable y se puede citar en un informe de errores. Consulta Diagnósticos.

El Protection Map

Cuando la captura está activada y el build guardó uno, Ver Protection Map abre la vista por token: tu código fuente original, coloreado según la puntuación de complejidad de cada token, con la clase de reversión del código que selecciones. Un mapa guardado incrusta tu código fuente original y lo puede leer todo el espacio de trabajo; la retención y el interruptor por proyecto están en Privacidad y manejo de datos, y esta página indica la fecha exacta de retención del build. Un build sin mapa guardado indica en su lugar el motivo: la captura estaba desactivada, no era un build Pro Cloud o no llevaba source maps de entrada a partir de los cuales generarlo.

El resumen del proyecto representa la cobertura, la inflación y el tiempo de build a lo largo del tiempo con un tamaño de intervalo adaptativo, con la variación frente a la semana o el mes anterior; el resumen del espacio de trabajo hace lo mismo con el uso de todos los proyectos.

Siguiente