public StreamEventBuilder attributes(Map<String, Object> data) { return attributes(data, this.streamDefinition); }
@SuppressWarnings( {"rawtypes", "unchecked"}) private StreamEvent convertToStreamEventByStreamDefinition(long timestamp, Map m, StreamDefinition sd) { return StreamEvent.builder().timestamep(timestamp).attributes(m, sd).build(); }
private void sendData(AlertBolt alertBolt, Map<String, StreamDefinition> definitionMap, PolicyDefinition policyDefinition) { StreamDefinition definition = definitionMap.get("perfmon_latency_stream"); long base = System.currentTimeMillis(); for (int i = 0; i < 2; i++) { long time = base + i * 1000; Map<String, Object> mapdata = new HashMap<>(); mapdata.put("host", "host-1"); mapdata.put("timestamp", time); mapdata.put("metric", "perfmon_latency"); mapdata.put("pool", "raptor"); mapdata.put("value", 1000.0 + i * 1000.0); mapdata.put("colo", "phx"); StreamEvent event = StreamEvent.builder().timestamep(time).attributes(mapdata, definition).build(); PartitionedEvent pEvent = new PartitionedEvent(event, policyDefinition.getPartitionSpec().get(0), 1); GeneralTopologyContext mock = Mockito.mock(GeneralTopologyContext.class); Mockito.when(mock.getComponentId(1)).thenReturn("taskId"); Mockito.when(mock.getComponentOutputFields("taskId", "test-stream-id")).thenReturn(new Fields(AlertConstants.FIELD_0)); TupleImpl ti = new TupleImpl(mock, Collections.singletonList(pEvent), 1, "test-stream-id"); alertBolt.execute(ti); } }
@Test public void testStreamEventBuilder2() { StreamEventBuilder streamEventBuilder = new StreamEventBuilder(); Map<String, Object> mapdata = new HashMap<>(); mapdata.put("name", "namevalue"); mapdata.put("host", "hostvalue"); mapdata.put("flag", "1"); mapdata.put("value", 10.0); mapdata.put("data", 1); mapdata.put("salary", -0.2); mapdata.put("object", "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}"); mapdata.put("int", 4); List<StreamColumn> streamColumns = new ArrayList<>(); streamColumns.add(new StreamColumn.Builder().name("name").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("host").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("int").type(StreamColumn.Type.INT).build()); StreamDefinition streamDefinition = new StreamDefinition(); streamDefinition.setColumns(streamColumns); StreamEvent streamEvent = streamEventBuilder.attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,hostvalue,4],metaVersion=metaVersion]", streamEvent.toString()); }
public static StreamEvent createRandomStreamEvent(String streamId, long timestamp) { StreamEvent event; try { event = StreamEvent.builder() .schema(MockSampleMetadataFactory.createSingletonMetadataServiceWithSample().getStreamDefinition(streamId)) .streamId(streamId) .timestamep(timestamp) .attributes(new HashMap<String, Object>() {{ put("name", SAMPLE_STREAM_NAME_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_NAME_OPTIONS.length)]); put("value", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); put("host", SAMPLE_STREAM_HOST_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_HOST_OPTIONS.length)]); put("flag", SAMPLE_STREAM_FLAG_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_FLAG_OPTIONS.length)]); // put("value1", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value2", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value3", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value4", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value5", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); put("unknown", "unknown column value"); }}).build(); } catch (StreamNotDefinedException e) { throw new IllegalStateException(e.getMessage(), e); } return event; }
@Test public void testStreamEventBuilder4() { StreamEventBuilder streamEventBuilder = new StreamEventBuilder(); Map<String, Object> mapdata = new HashMap<>(); mapdata.put("name", "namevalue"); mapdata.put("host1", "hostvalue"); mapdata.put("flag", "1"); List<StreamColumn> streamColumns = new ArrayList<>(); streamColumns.add(new StreamColumn.Builder().name("name").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("host").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("flag").type(StreamColumn.Type.BOOL).build()); streamColumns.add(new StreamColumn.Builder().name("value").type(StreamColumn.Type.DOUBLE).build()); StreamDefinition streamDefinition = new StreamDefinition(); streamDefinition.setColumns(streamColumns); StreamEvent streamEvent = streamEventBuilder.attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,,1,],metaVersion=metaVersion]", streamEvent.toString()); }
@Test public void testStreamEventBuilder3() { StreamEventBuilder streamEventBuilder = new StreamEventBuilder(); Map<String, Object> mapdata = new HashMap<>(); mapdata.put("name", "namevalue"); mapdata.put("host", "hostvalue"); mapdata.put("flag", "1"); mapdata.put("value", 10.0); mapdata.put("data", 1); mapdata.put("salary", -0.2); mapdata.put("object", "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}"); List<StreamColumn> streamColumns = new ArrayList<>(); streamColumns.add(new StreamColumn.Builder().name("name").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("host").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("flag").type(StreamColumn.Type.BOOL).build()); streamColumns.add(new StreamColumn.Builder().name("value").type(StreamColumn.Type.DOUBLE).build()); streamColumns.add(new StreamColumn.Builder().name("data").type(StreamColumn.Type.LONG).build()); streamColumns.add(new StreamColumn.Builder().name("salary").type(StreamColumn.Type.FLOAT).build()); streamColumns.add(new StreamColumn.Builder().name("object").type(StreamColumn.Type.OBJECT).build()); StreamColumn streamColumn = new StreamColumn.Builder().name("int").type(StreamColumn.Type.INT).build(); streamColumn.setDefaultValue(100); streamColumns.add(streamColumn); StreamDefinition streamDefinition = new StreamDefinition(); streamDefinition.setColumns(streamColumns); StreamEvent streamEvent = streamEventBuilder.attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,hostvalue,1,10.0,1,-0.2,{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"},100],metaVersion=metaVersion]", streamEvent.toString()); }
.streamId("sampleStream_1") .timestamep(ts_1) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); .streamId("sampleStream_2") .timestamep(ts_2) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 61.0); .streamId("sampleStream_2") .timestamep(ts_2) .attributes(new HashMap<String, Object>() {{ put("name", "disk"); put("value", 60.0); .streamId("sampleStream_2") .timestamep(ts_2) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0);
private static StreamEvent mockSimpleStreamEvent(Long timestamp) { return StreamEvent.builder() .schema(mockStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(timestamp) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); put("unknown", "unknown column value"); }}).build(); }
@SuppressWarnings("serial") public static PartitionedEvent createSimpleStreamEvent() { StreamEvent event = StreamEvent.builder() .schema(createSampleStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(System.currentTimeMillis()) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("host", "localhost"); put("flag", true); put("value", 60.0); put("data", Long.MAX_VALUE); put("unknown", "unknown column value"); }}).build(); PartitionedEvent pEvent = new PartitionedEvent(); pEvent.setEvent(event); pEvent.setPartition(createSampleStreamGroupbyPartition("sampleStream_1", Arrays.asList("name", "host"))); return pEvent; } }
public static PartitionedEvent createSimpleStreamEvent() { StreamEvent event = null; try { event = StreamEvent.builder() .schema(MockSampleMetadataFactory.createSingletonMetadataServiceWithSample().getStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(System.currentTimeMillis()) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); put("unknown", "unknown column value"); }}).build(); } catch (StreamNotDefinedException e) { e.printStackTrace(); } PartitionedEvent pEvent = new PartitionedEvent(); pEvent.setEvent(event); return pEvent; }
Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[],metaVersion=metaVersion]", streamEvent.toString()); Object[] data = new Object[]{"namevalue", "hostvalue", "1", 10.0, 1, -0.2, "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}", 4}; streamEvent = streamEventBuilder.schema(streamDefinition).attributes(data).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,hostvalue,1,10.0,1,-0.2,{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"},4],metaVersion=metaVersion]", streamEvent.toString()); mapdata.put("object", "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}"); mapdata.put("int", 4); StreamEvent streamEvent1 = streamEventBuilder.schema(streamDefinition).attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,hostvalue,1,10.0,1,-0.2,{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"},4],metaVersion=metaVersion]", streamEvent.toString()); streamEvent1 = streamEventBuilder1.schema(streamDefinition).attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build();
@SuppressWarnings("serial") @Test public void testBySendSimpleEvent() throws Exception { SiddhiPolicyHandler handler; MockStreamCollector collector; handler = new SiddhiPolicyHandler(createDefinition("sampleStream_1", "sampleStream_2"), 0); collector = new MockStreamCollector(); PolicyDefinition policyDefinition = MockSampleMetadataFactory.createSingleMetricSamplePolicy(); PolicyHandlerContext context = new PolicyHandlerContext(); context.setPolicyDefinition(policyDefinition); context.setPolicyCounter(new StormMultiCountMetric(new MultiCountMetric())); context.setPolicyEvaluator(new PolicyGroupEvaluatorImpl("evalutorId")); handler.prepare(collector, context); StreamEvent event = StreamEvent.builder() .schema(MockSampleMetadataFactory.createSampleStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(System.currentTimeMillis()) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); put("bad", "bad column value"); }}).build(); handler.send(event); handler.close(); }