use of org.influxdb.dto.Point in project jmxtrans by jmxtrans.
the class InfluxDbWriterTests method customTagsAreWrittenToDb.
@Test
public void customTagsAreWrittenToDb() throws Exception {
ImmutableMap<String, String> tags = ImmutableMap.of("customTag", "customValue");
InfluxDbWriter writer = getTestInfluxDbWriterWithCustomTags(tags);
writer.doWrite(dummyServer(), dummyQuery(), results);
verify(influxDB).write(messageCaptor.capture());
BatchPoints batchPoints = messageCaptor.getValue();
assertThat(batchPoints.getDatabase()).isEqualTo(DATABASE_NAME);
List<Point> points = batchPoints.getPoints();
assertThat(points).hasSize(1);
Point point = points.get(0);
assertThat(point.lineProtocol()).contains("customTag=customValue");
}
use of org.influxdb.dto.Point in project openhab1-addons by openhab.
the class InfluxDBPersistenceService method store.
/**
* {@inheritDoc}
*/
@Override
public void store(Item item, String alias) {
if (item.getState() instanceof UnDefType) {
return;
}
if (!isProperlyConfigured) {
logger.warn("Configuration for influxdb not yet loaded or broken.");
return;
}
if (!isConnected()) {
logger.warn("InfluxDB is not yet connected");
return;
}
String realName = item.getName();
String name = (alias != null) ? alias : realName;
State state = null;
if (item.getAcceptedCommandTypes().contains(HSBType.class)) {
state = item.getStateAs(HSBType.class);
logger.trace("Tried to get item as {}, state is {}", HSBType.class, state.toString());
} else if (item.getAcceptedDataTypes().contains(PercentType.class)) {
state = item.getStateAs(PercentType.class);
logger.trace("Tried to get item as {}, state is {}", PercentType.class, state.toString());
} else {
// All other items should return the best format by default
state = item.getState();
logger.trace("Tried to get item from item class {}, state is {}", item.getClass(), state.toString());
}
Object value = stateToObject(state);
logger.trace("storing {} in influxdb value {}, {}", name, value, item);
Point point = Point.measurement(name).field(VALUE_COLUMN_NAME, value).time(System.currentTimeMillis(), timeUnit).build();
try {
influxDB.write(dbName, retentionPolicy, point);
} catch (RuntimeException e) {
logger.error("storing failed with exception for item: {}", name);
handleDatabaseException(e);
}
}
use of org.influxdb.dto.Point in project cas by apereo.
the class InfluxDbCasEventRepository method save.
@Override
public void save(final CasEvent event) {
final Point.Builder builder = Point.measurement(MEASUREMENT);
ReflectionUtils.doWithFields(CasEvent.class, field -> {
field.setAccessible(true);
if (field.getType().equals(Map.class)) {
builder.fields((Map) field.get(event));
} else {
builder.field(field.getName(), field.get(event));
}
});
final Point point = builder.time(System.currentTimeMillis(), TimeUnit.MILLISECONDS).build();
influxDbConnectionFactory.write(point);
}
use of org.influxdb.dto.Point in project cas by apereo.
the class InfluxDbConnectionFactoryTests method verifyWritePoint.
@Test
public void verifyWritePoint() {
final Point p = Point.measurement("events").time(System.currentTimeMillis(), TimeUnit.MILLISECONDS).addField("hostname", "cas.example.org").build();
factory.write(p, CAS_EVENTS_DATABASE);
final QueryResult result = factory.query("*", "events", CAS_EVENTS_DATABASE);
final InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
final List<InfluxEvent> resultEvents = resultMapper.toPOJO(result, InfluxEvent.class);
assertNotNull(resultEvents);
assertEquals(1, resultEvents.size());
assertEquals("cas.example.org", resultEvents.iterator().next().hostname);
}
Aggregations