Skip to content

Commit e2b245b

Browse files
committed
on working
1 parent 1ea784d commit e2b245b

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed

pom.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,30 @@
4444
</dependency>
4545
</dependencies>
4646

47+
<build>
48+
<plugins>
49+
<plugin>
50+
<groupId>org.apache.maven.plugins</groupId>
51+
<artifactId>maven-dependency-plugin</artifactId>
52+
<executions>
53+
<execution>
54+
<id>copy-dependencies</id>
55+
<phase>prepare-package</phase>
56+
<goals>
57+
<goal>copy-dependencies</goal>
58+
</goals>
59+
<configuration>
60+
<outputDirectory>${project.build.directory}/lib</outputDirectory>
61+
<overWriteReleases>false</overWriteReleases>
62+
<overWriteSnapshots>false</overWriteSnapshots>
63+
<overWriteIfNewer>true</overWriteIfNewer>
64+
<includeScope>runtime</includeScope>
65+
</configuration>
66+
</execution>
67+
</executions>
68+
</plugin>
69+
</plugins>
70+
71+
</build>
72+
4773
</project>

scouter-plugin-server-influxdb.iml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<output-test url="file://$MODULE_DIR$/target/test-classes" />
66
<content url="file://$MODULE_DIR$">
77
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
8+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
89
<excludeFolder url="file://$MODULE_DIR$/target" />
910
</content>
1011
<orderEntry type="inheritedJdk" />
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,60 @@
11
package scouter.plugin.server.influxdb;
22

3+
import org.influxdb.dto.Point;
4+
import scouter.lang.TimeTypeEnum;
35
import scouter.lang.pack.PerfCounterPack;
46
import scouter.lang.plugin.PluginConstants;
57
import scouter.lang.plugin.annotation.ServerPlugin;
8+
import scouter.lang.value.Value;
69
import scouter.server.Configure;
710

11+
import java.util.Map;
12+
import java.util.concurrent.TimeUnit;
13+
814
/**
915
* @author Gun Lee (gunlee01@gmail.com) on 2016. 3. 29.
1016
*/
1117
public class InfluxdbPlugin {
1218
Configure conf = Configure.getInstance();
1319

20+
final String confMeasurement = "ext_plugin_influxdb_measurement";
21+
final String confTagObj = "ext_plugin_influxdb_tag_obj";
22+
final String confTagTimeType = "ext_plugin_influxdb_tag_timetype";
23+
24+
final String confMeasurementDefault = "counter";
25+
final String confTagObjDefault = "obj";
26+
final String confTagTimeTypeDefault = "timetype";
27+
1428
@ServerPlugin(PluginConstants.PLUGIN_SERVER_COUNTER)
1529
public void counter(PerfCounterPack pack) {
30+
String measurementName = conf.getValue(confMeasurement, confMeasurementDefault);
31+
String objTagName = conf.getValue(confTagObj, confTagObjDefault);
32+
String timeTypeTagName = conf.getValue(confTagTimeType, confTagTimeTypeDefault);
33+
34+
try {
35+
Point.Builder builder = Point.measurement(measurementName)
36+
.time(pack.time, TimeUnit.MILLISECONDS)
37+
.tag(objTagName, pack.objName)
38+
.tag(timeTypeTagName, TimeTypeEnum.getString(pack.timetype));
39+
40+
Map<String, Value> dataMap = pack.data.toMap();
41+
for (Map.Entry<String, Value> field : dataMap.entrySet()) {
42+
Value valueOrigin = field.getValue();
43+
if (valueOrigin == null) {
44+
continue;
45+
}
46+
Object value = valueOrigin.toJavaObject();
47+
String key = field.getKey();
48+
builder.field(key, value);
49+
}
50+
51+
Point point = builder.build();
52+
String line = point.lineProtocol();
53+
54+
System.out.println(line);
1655

56+
} catch (Exception e) {
57+
e.getMessage();
58+
}
1759
}
1860
}

0 commit comments

Comments
 (0)