Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mock-data
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
廖鸣韬
mock-data
Commits
4700aa2b
Commit
4700aa2b
authored
Jun 28, 2020
by
DeleMing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增方法
parent
f0d075cc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
118 additions
and
5 deletions
+118
-5
pom.xml
pom.xml
+2
-2
src/main/java/com/zorkdata/tools/kafka/Producer.java
src/main/java/com/zorkdata/tools/kafka/Producer.java
+12
-1
src/main/java/com/zorkdata/tools/mock/MockStreamxLogAvro.java
...main/java/com/zorkdata/tools/mock/MockStreamxLogAvro.java
+2
-2
src/main/java/com/zorkdata/tools/mock/MockStreamxMetricAvro.java
...n/java/com/zorkdata/tools/mock/MockStreamxMetricAvro.java
+102
-0
No files found.
pom.xml
View file @
4700aa2b
...
...
@@ -5,7 +5,7 @@
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.zorkdata
</groupId>
<artifactId>
mock-data
</artifactId>
<artifactId>
com.zorkdata.tools.mock.MockStreamxLogAvro
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<repositories>
<!-- Using Local Nexus Maven Repository -->
...
...
@@ -144,7 +144,7 @@
<!--生成的manifest中classpath的前缀,因为要把第三方jar放到lib目录下,所以classpath的前缀是lib/-->
<classpathPrefix>
lib/
</classpathPrefix>
<!-- 应用的main class-->
<mainClass>
com.zorkdata.tools.mock.Mock
FilebeatDataToKafka
</mainClass>
<mainClass>
com.zorkdata.tools.mock.Mock
StreamxLogAvro
</mainClass>
</manifest>
</archive>
<!-- 过滤掉不希望包含在jar中的文件-->
...
...
src/main/java/com/zorkdata/tools/kafka/Producer.java
View file @
4700aa2b
...
...
@@ -60,7 +60,7 @@ public class Producer {
try
{
byte
[]
bytes
=
AvroSerializerFactory
.
getLogAvorSerializer
().
serializingLog
(
logTypeName
,
timestamp
,
source
,
offset
,
dimensions
,
metrics
,
normalFields
);
producer
.
send
(
new
ProducerRecord
<
String
,
byte
[]>(
topic
,
""
,
bytes
));
producer
.
send
(
new
ProducerRecord
<
String
,
byte
[]>(
topic
,
null
,
bytes
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -101,6 +101,17 @@ public class Producer {
}
}
public
void
sendMetric
(
String
topic
,
String
metricSetName
,
String
timestamp
,
Map
<
String
,
String
>
dimensions
,
Map
<
String
,
Double
>
metrics
)
{
try
{
byte
[]
bytes
=
AvroSerializerFactory
.
getMetricAvorSerializer
().
serializingMetric
(
metricSetName
,
timestamp
,
dimensions
,
metrics
);
producer
.
send
(
new
ProducerRecord
<
String
,
byte
[]>(
topic
,
""
,
bytes
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
...
...
src/main/java/com/zorkdata/tools/mock/MockStreamxLogAvro.java
View file @
4700aa2b
...
...
@@ -76,7 +76,7 @@ public class MockStreamxLogAvro {
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
long
size
=
10000
*
10000
*
1
0
;
long
size
=
10000
000
0
;
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
String
logTypeName
=
"streamx_log_avro"
;
...
...
@@ -91,7 +91,7 @@ public class MockStreamxLogAvro {
//System.out.println(printData(logTypeName, timestamp, source, offset, dimensions, measures, normalFields));
Producer
producer
=
ProducerPool
.
getInstance
().
getProducer
();
producer
.
sendLog
(
"log
avro_1p
"
,
logTypeName
,
timestamp
,
source
,
offset
,
dimensions
,
producer
.
sendLog
(
"log
2metric10000w
"
,
logTypeName
,
timestamp
,
source
,
offset
,
dimensions
,
measures
,
normalFields
);
}
Thread
.
sleep
(
1000
);
...
...
src/main/java/com/zorkdata/tools/mock/MockStreamxMetricAvro.java
0 → 100644
View file @
4700aa2b
package
com.zorkdata.tools.mock
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zorkdata.tools.kafka.Producer
;
import
com.zorkdata.tools.kafka.ProducerPool
;
import
com.zorkdata.tools.utils.DateUtil
;
import
com.zorkdata.tools.utils.PropertiesUtil
;
import
com.zorkdata.tools.utils.StringUtil
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Properties
;
import
java.util.Random
;
/**
* @author: LiaoMingtao
* @date: 2020/6/28
*/
public
class
MockStreamxMetricAvro
{
private
static
long
getSize
(
String
propertiesName
)
throws
Exception
{
Properties
properties
=
PropertiesUtil
.
getProperties
(
propertiesName
);
long
logSize
=
StringUtil
.
getLong
(
properties
.
getProperty
(
"log.size"
,
"5000"
).
trim
(),
1
);
return
logSize
;
}
public
static
String
printData
(
String
logTypeName
,
String
timestamp
,
String
source
,
String
offset
,
Map
<
String
,
String
>
dimensions
,
Map
<
String
,
Double
>
metrics
,
Map
<
String
,
String
>
normalFields
)
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"logTypeName"
,
logTypeName
);
jsonObject
.
put
(
"timestamp"
,
timestamp
);
jsonObject
.
put
(
"source"
,
source
);
jsonObject
.
put
(
"offset"
,
offset
);
jsonObject
.
put
(
"dimensions"
,
dimensions
);
jsonObject
.
put
(
"measures"
,
metrics
);
jsonObject
.
put
(
"normalFields"
,
normalFields
);
return
jsonObject
.
toString
();
}
private
static
String
getRandomOffset
()
{
Random
random
=
new
Random
();
long
l
=
random
.
nextInt
(
10000
);
return
String
.
valueOf
(
l
);
}
private
static
Map
<
String
,
String
>
getRandomDimensions
()
{
Random
random
=
new
Random
();
int
i
=
random
.
nextInt
(
10
);
Map
<
String
,
String
>
dimensions
=
new
HashMap
<>();
dimensions
.
put
(
"hostname"
,
"zorkdata"
+
i
);
dimensions
.
put
(
"ip"
,
"192.168.1."
+
i
);
dimensions
.
put
(
"appprogramname"
,
"tc50"
);
dimensions
.
put
(
"appsystem"
,
"tdx"
);
return
dimensions
;
}
private
static
String
[]
codes
=
{
"AO"
,
"AF"
,
"AL"
,
"DZ"
,
"AD"
,
"AI"
,
"AG"
,
"AR"
,
"AM"
,
"AU"
,
"AT"
,
"AZ"
,
"BS"
,
"BH"
,
"BD"
,
"BB"
,
"BY"
,
"BE"
,
"BZ"
,
"BJ"
};
private
static
String
getRandomCountryCode
()
{
Random
random
=
new
Random
(
codes
.
length
);
return
codes
[
new
Random
(
codes
.
length
).
nextInt
(
codes
.
length
)];
}
private
static
Map
<
String
,
String
>
getRandomNormalFields
()
{
Map
<
String
,
String
>
normalFields
=
new
HashMap
<>();
normalFields
.
put
(
"message"
,
"data update success"
);
normalFields
.
put
(
"countryCode"
,
getRandomCountryCode
());
return
normalFields
;
}
private
static
Map
<
String
,
Double
>
getMetrics
()
{
Map
<
String
,
Double
>
metrics
=
new
HashMap
<>(
1
);
Random
random
=
new
Random
();
int
i
=
random
.
nextInt
(
10
);
metrics
.
put
(
"metric1"
,
i
*
0.1
);
metrics
.
put
(
"metric2"
,
i
*
0.2
);
metrics
.
put
(
"metric3"
,
i
*
3.65
);
return
metrics
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
long
size
=
10000000
*
20
;
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
String
metricSetName
=
"streamx_metric_avro"
;
String
timestamp
=
DateUtil
.
getUTCTimeStr
();
Map
<
String
,
String
>
dimensions
=
getRandomDimensions
();
Map
<
String
,
Double
>
metrics
=
getMetrics
();
//System.out.println(printData(logTypeName, timestamp, source, offset, dimensions, measures, normalFields));
Producer
producer
=
ProducerPool
.
getInstance
().
getProducer
();
producer
.
sendMetric
(
"metric2metric20000w"
,
metricSetName
,
timestamp
,
dimensions
,
metrics
);
}
Thread
.
sleep
(
1000
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment