51 lines
1.6 KiB
Java
51 lines
1.6 KiB
Java
package eu.dnetlib.dnetexploremetrics.dao;
|
|
|
|
import eu.dnetlib.dnetexploremetrics.model.Metrics;
|
|
import eu.dnetlib.dnetexploremetrics.utils.PrometheusMetricsFormatter;
|
|
import org.apache.commons.io.IOUtils;
|
|
import org.apache.log4j.Logger;
|
|
|
|
import java.io.*;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Paths;
|
|
|
|
public class MetricsFileDAO implements MetricsDAO {
|
|
|
|
private final Logger logger = Logger.getLogger(this.getClass());
|
|
private String fileName;
|
|
|
|
@Override
|
|
public void save(Metrics metrics) {
|
|
try {
|
|
Files.write(Paths.get("fileName"), PrometheusMetricsFormatter.formatMetrics(metrics).getBytes());
|
|
|
|
ClassLoader classLoader = getClass().getClassLoader();
|
|
File file = new File(classLoader.getResource(".").getFile() +"/metrics.txt");
|
|
|
|
FileWriter fileWriter = new FileWriter(file);
|
|
PrintWriter printWriter = new PrintWriter(fileWriter);
|
|
printWriter.print(PrometheusMetricsFormatter.formatMetrics(metrics));
|
|
printWriter.close();
|
|
|
|
} catch (IOException ioe) {
|
|
logger.error("Error writing metrics to file " + fileName + ".", ioe);
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public String getMetrics() {
|
|
|
|
String metrics="";
|
|
try {
|
|
FileInputStream inputStream = new FileInputStream(getClass().getClassLoader().getResource(".").getFile() +"/metrics.txt");
|
|
metrics = IOUtils.toString(inputStream, "UTF-8");
|
|
// do something with everything string
|
|
} catch (IOException ioe) {
|
|
logger.error("Error reading metrics to file " + fileName + ".", ioe);
|
|
}
|
|
|
|
return metrics;
|
|
}
|
|
}
|