Otra forma de rastrear el tiempo y el número de compilación para Java

Hay muchas formas de agregar el número de compilación y el tiempo de compilación dentro del programa. Sugiero uno más que no requiere Maven / Jenkins / Bamboo y no se compromete en git.

Por lo general, trabajo con Java del lado del servidor, y casi cualquier aplicación (Tomcat / Spring / Play ...) necesita agregar un punto final, que indicará el número y la hora del ensamblaje de la aplicación durante una solicitud HTTP. Intenté diferentes formas y encontré la que más me convenía en todo. El proceso de integración en cualquier aplicación Java lleva de 5 a 10 minutos.

Primero debe registrarse en Backendless y crear una aplicación allí (puede usar cualquier otro servicio que pueda dar un número por solicitud http, incrementándolo cada vez en 1). Después de recibir el APP_ID de la aplicación, también debe obtener el API_KEY en esta página.

Después de eso, puede aprovechar la oportunidad para obtener un número entero, que aumentará en 1 después de cada solicitud.

Para que este número ingrese al programa, debe usar mi biblioteca OpenSource de kolobok . Especifique la dependencia de la biblioteca en pom.xml o build.gradle.

maven
<dependency> <groupId>com.github.ukman</groupId> <artifactId>kolobok</artifactId> <version>0.1.5</version> <scope>compile</scope> </dependency> 


gradle
  compileOnly 'com.github.ukman:kolobok:0.1.5' 


Agregue anotaciones para el campo en cualquier clase (no olvide escribir la APP_ID y API_KEY correctas dentro del parámetro url).

 import org.kolobok.annotation.*; public class Main { @BuildNumber(url = "https://api.backendless.com/${APP_ID}/${API_KEY}/counters/build/increment/get", method = "PUT") public static long bn; @CompileTime public static long ct; public static void main(String args[]) { System.out.println("Build number = " + bn + " compilation time " + new Date(ct)); } } 

Ahora, después de cada compilación de la clase Main, tendrá un nuevo número en el campo bn de la secuencia de números crecientes, y el campo ct tendrá el tiempo de compilación. Es decir, algo así irá a la entrada del compilador.

  public static long bn = 1; // 2..3..4..5.. public static long ct = 1580107708793; // System.currentTimeMillis() 

Después de una compilación incremental, el archivo Main.java puede no volver a compilarse y los valores seguirán siendo los mismos, pero generalmente realizan una limpieza completa de todos los archivos compilados antes de la compilación completa, lo que significa que el número de compilación se actualizará.

Ahora puede usar estas variables para mostrar el número de compilación y el tiempo de compilación al usuario.

Source: https://habr.com/ru/post/485552/


All Articles