-
Notifications
You must be signed in to change notification settings - Fork 42
Experimentacion #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feat/scaffold-spring-boot-app
Are you sure you want to change the base?
Conversation
No lee correctamente el fichero de configuración de la librería
Se han separado en distintos archivos cada clase de la aplicación Spring Ignorar Gradle.properties Versión 16 de java (cambia dockerfile y guild.gradle)
build.gradle
Outdated
| testImplementation 'org.springframework.boot:spring-boot-starter-test' | ||
| implementation 'us.mitfs.samples:a4i:0.0' | ||
| implementation group: 'com.spotify', name: 'github-client', version: '0.1.28' | ||
| providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
para que es esta dependencia?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me la metió el Spring Initializr, entiendo que estará relacionada con los test de spring, como no he hecho aún tests no la he necesitado, supongo que la podemos eliminar cuando verifiquemos que no la usamos
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me lo podia imaginar, estoy seguro que no hace falta porque los tests funcionan en la version de esta rama
| public class MetricController { | ||
|
|
||
|
|
||
| @GetMapping("/metric") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Es importante que sea /metrics, ya que esta estandarizado en la industria. Realmente es una API no-rest
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, cambio la url
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
En realidad, como lo que devuelve son los metadatos, y no el valor de la métrica en si ¿le podríamos llamar metricsinfo? No se, por ahora lo dejo como metrics (plural)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No me parece mal nombre. Sin embargo, si quieres que reutilicemos este repo para la práctica siguiente de observabilidad, mi sugerencia es que se quede como /metrics y no como /metricsinfo. Esto es porque /metrics es el endpoint por defecto que utiliza prometheus para hacer scraping de las metricas del servicio y para registrar un target de monitorizacion.
En ese caso, la siguiente práctica se reduce a reemplazar el endpoint de /metrics con la instrumentación de prometheus y comprobar que se ven las metricas en un grafana + prometheus que corre en el cluster local
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahora mismo lo que está programado es muy tonto
metrics?name=nombredelametrica
y devuelve los metadatos de la misma
Si lo que queremos es que devuelva el valor de la métrica tengo que cambiarlo, podríamos poner otra uri
¿Qué es lo que te parece apropiado que devuelva?
He subido nuevas versiones arreglando algunos errores
Me pasa algo raro... puedo ejecutar en eclipse sin problema, pero al ejecutar la tarea de run de gradlew me sale error con la versión 16 de java (y con la 17 también), mañana seguiré mirando
Me he instalado kubectl, helm y kind, pero ahí me he quedado, hoy ya no doy para más
Un saludo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La imagen es un ejemplo si pregunto por la métrica issues, como ves no busca en github sino que devuelve los metadatos, lo que lee del fichero de configuración
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si, lo suyo es que devuelva el valor de la metrica. Si quieres vemos los errores por zoom
| @@ -0,0 +1,15 @@ | |||
| package us.mitfs.samples.auditserver; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Por que es necesario servlet?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otra herencia del Spring Initializr... Si se puede eliminar se elimina (probaré sin...)
src/test/java/us/mitfs/samples/server/ServerApplicationTests.java
Outdated
Show resolved
Hide resolved
sermilrod
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
He dejado un par de comentarios menores y algunas preguntas referentes a Servlets
README.md corregido, apra reflejar correctamente la URI
|
Ahora mismo lo que está programado es muy tonto
metrics?name=nombredelametrica
y devuelve los metadatos de la misma
Si lo que queremos es que devuelva el valor de la métrica tengo que cambiarlo, podríamos poner otra uri
¿Qué es lo que te parece apropiado que devuelva?
He subido nuevas versiones arreglando algunos errores
Me pasa algo raro... puedo ejecutar en eclipse sin problema, pero al ejecutar la tarea de run de gradlew me sale error con la versión 16 de java (y con la 17 también), mañana seguiré mirando
Me he instalado kubectl, helm y kind, pero ahí me he quedado, hoy ya no doy para más
Un saludo
________________________________
De: Sergio Millan ***@***.***>
Enviado: martes, 3 de mayo de 2022 20:53
Para: MIT-FS/AuditServer ***@***.***>
Cc: ISABEL ROMAN MARTINEZ ***@***.***>; Author ***@***.***>
Asunto: Re: [MIT-FS/AuditServer] Experimentacion (PR #2)
@sermilrod commented on this pull request.
________________________________
In src/main/java/us/mitfs/samples/auditserver/MetricController.java<#2 (comment)>:
+
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author Isabel Rom�n
+ *
+ */
***@***.***
+public class MetricController {
+
+
+ @GetMapping("/metric")
No me parece mal nombre. Sin embargo, si quieres que reutilicemos este repo para la práctica siguiente de observabilidad, mi sugerencia es que se quede como /metrics y no como /metricsinfo. Esto es porque /metrics es el endpoint por defecto que utiliza prometheus para hacer scraping de las metricas del servicio y para registrar un target de monitorizacion.
En ese caso, la siguiente práctica se reduce a reemplazar el endpoint de /metrics con la instrumentación de prometheus y comprobar que se ven las metricas en un grafana + prometheus que corre en el cluster local
—
Reply to this email directly, view it on GitHub<#2 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAZ7D43ZOU22HGXIQPRMVZDVIFYY7ANCNFSM5U6TLSNA>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
Ahroa
|
|
Tengo que mirar también por qué no ejecuta los tests |
Método disponible para el recurso: GET
Devuelve el listado de información sobre las métricas
/metricsInfo
/metricsInfo/{name}
Corrijo README con la nueva información
85862ca to
39d7fe1
Compare
Usando env para establecer las variables de entorno de las credenciales, con secretos github Cambiando los permisos de gradlew Para cada uno de los jobs
86dcb45 to
82df52f
Compare
|
Sergio, he realizado algunos cambios en el controlador del recurso metrics: Además he modificado el workflow de ci para que pueda resolver la dependencia de la librería publicada en github packages Próximos trabajos: |
Pruebo a usar el github_token y el actor que ha hecho lanzar la acción
| String healthzGithubOrg = this.getHealthzGithubOrg(); | ||
| String healthzGithubRepo = this.getHealthzGithubRepo(); | ||
| Map<String, Object> body = new HashMap<>(); | ||
| final GitHubClient githubClient = GitHubClient.create(URI.create(githubApiUrl), githubToken); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Esto lo ibamos a reemplazar por el cliente de la libreria no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aquí no he tocado, porque no entendía muy bien la intención que tenías con este recurso.
Sí, lo suyo es no añadir otra dependencia más, para las consultas a github a través de la librería. Lo que pasa es que la librería no está acabada!! están tocando los alumnos.
Lo que he hecho para el recurso metricsInfo es una versión "temporal", pero no he tocado la parte de consulta a github, ya que para los metadatos de la métrica no era necesario. Luego decidimos qué queremos que haga el servicio exactamente y extiendo lo que necesitemos
Corregidos problemas tildes
39a574e to
4a1f5d6
Compare
250af05 to
a6e036b
Compare

Sergio he separado en distintos ficheros cada clase del servicio REST
He cambiado a la versión 16 de java, que es la que usa la librería que estamos editando, lo podemos cambiar posteriormente, pero por ahorrar posibles conflictos
Queda asimilarlo