Commit f466ba91 authored by George Tziavas's avatar George Tziavas
Browse files

Changes to be committed:

	renamed:    Documentation.md -> Documentation/Documentation.md
	new file:   Documentation/FlowDiagram.puml
	modified:   pom.xml
	new file:   src/main/java/org/etsi/osl/metrico/MetricoRouteBuilder.java
	modified:   src/main/resources/application.yml

MetricoRouteBuilder is not running
parent fbb87fe8
Loading
Loading
Loading
Loading
Loading
+0 −0

File moved.

+34 −0
Original line number Diff line number Diff line
@startuml FlowDiagram
actor        "ACTOR"              as actor
participant  "OSOM"               as osom
participant  "TMF API"            as tmf_api
queue        amq                  as amq
participant  "Monitoring Service" as smon
participant  prometheus           as prom


actor   -> tmf_api: CREATE: Service Order Monitoring aaS
osom    -> osom: PROCESS ORDER
osom    -> tmf_api: CREATE: service instance of monitoring aaS (CFS)
osom    -> tmf_api: CREATE: service instance of monitoring aaS (RFS)

osom    -> amq: CREATE: TMF628 Measurement Collection Job
amq     -> tmf_api: CREATE: TMF628 Measurement Collection Job
tmf_api -> amq: PUBLISH EVENT: Monitoring Job Created
amq     -> smon: RECEIVE EVENT: Monitoring Job Created
smon    -> smon: create job
smon    -> amq: UPDATE TMF628 Performance Indicator Job
amq     -> tmf_api: UPDATE TMF628 object

smon -> smon: Create a java job with refresh rate
group "java job"
    smon -> smon   : set how often job is done
    smon -> prom   : send prom req
    prom -> smon   : reply to prom req
    smon -> smon   : parse data from reply and cast them to performance indicator
    smon -> amq    : "UPDATE: TMF628 object"
    amq  -> tmf_api: "UPDATE: TMF628 object"
    smon -> amq    : "UPDATE: Related service to the Service Inventory"
    amq  -> tmf_api: "UPDATE: Related service to the Service Inventory"    
end
@enduml
+5 −0
Original line number Diff line number Diff line
@@ -78,6 +78,11 @@
			<artifactId>org.etsi.osl.model.tmf</artifactId>
			<version>${org.etsi.osl.model.tmf.version}</version>
		</dependency>
		<dependency>
			<groupId>org.etsi.osl</groupId>
			<artifactId>org.etsi.osl.centrallog.client</artifactId>
			<version>${org.etsi.osl.centrallog.client.version}</version>
		</dependency>

<!-- Lombok -->
		<dependency>
+45 −0
Original line number Diff line number Diff line
package org.etsi.osl.metrico;


import org.apache.camel.LoggingLevel;
import org.apache.camel.builder.RouteBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.etsi.osl.metrico.prometheus.PrometheusQueries;
import org.etsi.osl.metrico.reposervices.JobRepoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.etsi.osl.centrallog.client.CentralLogger;

@Configuration
@Component
public class MetricoRouteBuilder extends RouteBuilder {

    private static final transient Log logger = LogFactory.getLog(MetricoRouteBuilder.class);

    final JobRepoService jobRepoService;
    private final PrometheusQueries prometheusQueries;

    public MetricoRouteBuilder(JobRepoService jobRepoService, PrometheusQueries prometheusQueries) {
        this.jobRepoService = jobRepoService;
        this.prometheusQueries = prometheusQueries;
    }

    @Value("${MEASUREMENT_COLLECTION_JOB_CREATED}")
    private static String MEASUREMENT_COLLECTION_JOB_CREATED;

    @Value("${MEASUREMENT_COLLECTION_JOB_RESPONSE}")
    private static String MEASUREMENT_COLLECTION_JOB_RESPONSE ;

    public  void configure() throws Exception{
        from(MEASUREMENT_COLLECTION_JOB_CREATED)
                .log(LoggingLevel.INFO, log, MEASUREMENT_COLLECTION_JOB_CREATED + "message received!")
                .to("log:DEBUG?showBody=true&showHeaders=true")
                .process(exchange -> prometheusQueries.startPeriodicQuery())
                .setBody(simple("Message received and processed"))
                .to(MEASUREMENT_COLLECTION_JOB_RESPONSE);

    }
}
+11 −1
Original line number Diff line number Diff line
@@ -60,3 +60,13 @@ logging:
    file: "%d %p %c{1.} [%t] %m%n"
    
scheduling.enabled: true

#TMF QUEUES
PM_GET_MEASUREMENT_COLLECTION_JOB_BY_ID: "jms:queue:PM.GET.MEASUREMENTCOLLECTIONJOB_BY_ID"
PM_GET_MEASUREMENT_COLLECTION_JOBS: "jms:queue:PM.GET.MEASUREMENTCOLLECTIONJOBS"
PM_ADD_MEASUREMENT_COLLECTION_JOB: "jms:queue:PM.ADD.MEASUREMENTCOLLECTIONJOB"
PM_UPDATE_MEASUREMENT_COLLECTION_JOB: "jms:queue:PM.UPD.MEASUREMENTCOLLECTIONJOB"

# COMMON QUEUES
MEASUREMENT_COLLECTION_JOB_CREATED: "jms:queue:MEASUREMENT_COLLECTION_JOB.CREATED"
MEASUREMENT_COLLECTION_JOB_RESPONSE: "jms:queue:MEASUREMENT_COLLECTION_JOB.RESPONSE"
 No newline at end of file