collector

Event Collector core

License

License

Categories

Categories

Metrics Application Testing & Monitoring Monitoring
GroupId

GroupId

com.ning
ArtifactId

ArtifactId

metrics.collector
Last Version

Last Version

2.0.16
Release Date

Release Date

Type

Type

jar
Description

Description

collector
Event Collector core
Project URL

Project URL

http://github.com/ning/collector
Project Organization

Project Organization

Ning, Inc.
Source Code Management

Source Code Management

http://github.com/ning/collector/tree/master

Download metrics.collector

How to add to project

<!-- https://jarcasting.com/artifacts/com.ning/metrics.collector/ -->
<dependency>
    <groupId>com.ning</groupId>
    <artifactId>metrics.collector</artifactId>
    <version>2.0.16</version>
</dependency>
// https://jarcasting.com/artifacts/com.ning/metrics.collector/
implementation 'com.ning:metrics.collector:2.0.16'
// https://jarcasting.com/artifacts/com.ning/metrics.collector/
implementation ("com.ning:metrics.collector:2.0.16")
'com.ning:metrics.collector:jar:2.0.16'
<dependency org="com.ning" name="metrics.collector" rev="2.0.16">
  <artifact name="metrics.collector" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.ning', module='metrics.collector', version='2.0.16')
)
libraryDependencies += "com.ning" % "metrics.collector" % "2.0.16"
[com.ning/metrics.collector "2.0.16"]

Dependencies

compile (64)

Group / Artifact Type Version
asm : asm jar 3.3.1
commons-codec : commons-codec jar 1.5
commons-io : commons-io jar 2.1
commons-lang : commons-lang jar 2.6
com.fasterxml.jackson.core : jackson-core jar 2.0.0
com.fasterxml.jackson.core : jackson-databind jar 2.0.0
com.fasterxml.jackson.jaxrs : jackson-jaxrs-json-provider jar 2.0.0
com.google.guava : guava jar 15.0
com.google.inject : guice jar 3.0
com.google.inject.extensions : guice-multibindings jar 3.0
com.google.inject.extensions : guice-servlet jar 3.0
com.googlecode.jsendnsca » jsendnsca jar 2.1-RC1
com.mogwee : mogwee-executors jar 1.1.0
com.ning : async-http-client jar 1.7.1
com.ning : compress-lzf jar 0.9.2
com.ning : metrics.goodwill-access jar 0.2.1
com.ning : metrics.serialization-common jar 2.2.2
com.ning : metrics.serialization-hadoop jar 2.2.2
com.ning : metrics.serialization-smile jar 2.2.2
com.ning : metrics.serialization-thrift jar 2.2.2
com.ning : metrics.serialization-writer jar 2.2.2
com.ning : nagios jar 0.0.1
com.ning.arecibo : arecibo-jmx jar 1.0.3
com.ning.arecibo : arecibo-metrics jar 2.0.0
com.sun.jersey : jersey-core jar 1.12
com.sun.jersey : jersey-server jar 1.12
com.sun.jersey.contribs : jersey-guice jar 1.12
com.yammer.metrics : metrics-core jar 2.1.2
com.yammer.metrics : metrics-guice jar 2.1.2
com.yammer.metrics : metrics-servlet jar 2.1.2
javax.servlet : javax.servlet-api jar 3.0.1
joda-time : joda-time jar 2.0
org.apache.activemq : activemq-core jar 5.5.1
org.apache.commons : commons-math jar 2.2
org.apache.geronimo.specs : geronimo-jms_1.1_spec jar 1.1.1
org.apache.hadoop : hadoop-core jar 0.20.205.0
org.apache.shiro : shiro-web jar 1.1.0
org.apache.thrift : libfb303 jar 0.7.0
org.apache.thrift : libthrift jar 0.7.0
org.atmosphere : atmosphere-guice jar 0.9.1
org.atmosphere : atmosphere-jersey jar 0.9.1
org.codehaus.jackson : jackson-core-asl jar 1.9.5
org.codehaus.jackson : jackson-mapper-asl jar 1.9.5
org.eclipse.jetty : jetty-jmx jar 8.1.3.v20120416
org.eclipse.jetty : jetty-server jar 8.1.3.v20120416
org.eclipse.jetty : jetty-servlet jar 8.1.3.v20120416
org.eclipse.jetty : jetty-util jar 8.1.3.v20120416
org.eclipse.jetty : jetty-websocket jar 8.1.3.v20120416
org.skife.config : config-magic jar 0.17
org.slf4j : jul-to-slf4j jar 1.6.4
org.slf4j : slf4j-log4j12 jar 1.6.4
org.weakref : jmxutils jar 1.12
f5 » icontrol jar 10.2
org.apache.axis : axis jar 1.4
org.jdbi : jdbi jar 2.48.2
mysql : mysql-connector-java jar 5.1.24
com.ning.jetty : ning-service-skeleton-jdbi jar 0.1.7
com.mchange : c3p0 jar 0.9.2.1
org.quartz-scheduler : quartz jar 2.2.1
org.quartz-scheduler : quartz-jobs jar 2.2.1
org.slf4j : slf4j-api jar 1.6.6
com.fasterxml.jackson.datatype : jackson-datatype-joda jar 2.0.0
com.fasterxml.jackson.datatype : jackson-datatype-guava jar 2.0.0
axis : axis-jaxrpc jar 1.3

provided (1)

Group / Artifact Type Version
com.google.code.findbugs : jsr305 jar 1.3.9

runtime (2)

Group / Artifact Type Version
log4j : log4j jar 1.2.16
org.slf4j : jcl-over-slf4j jar 1.6.4

test (7)

Group / Artifact Type Version
com.fasterxml.jackson.dataformat : jackson-dataformat-smile jar 2.0.0
com.ning : metrics.serialization-common test-jar 2.2.2
com.ning : metrics.serialization-writer test-jar 2.2.2
org.mockito : mockito-all jar 1.9.0
org.testng : testng jar 6.3.1
com.mysql : management jar 5.0.11
com.mysql » management-dbfiles jar 5.0.11

Project Modules

There are no modules declared in this project.

Collector

The Collector core is a Jetty service intended to receive events data flows and persist them to HDFS (Hadoop DFS). It provides additional services such as data validation as well as bucketing.

The Collector is the core component to Ning's Analytics data pipeline.

More detailed documentation can be found here.

Download

Self contained artifacts can be found at Maven Central (look for the jar-with-dependencies.jar artifact).

Build

mvn install

Configuration options

See CollectorConfig.java for configuration options.

Run

java -jar metrics.collector-*-jar-with-dependencies.jar

You can test the Thrift endpoint by using the test_collector_thrift_endpoint.py script:

python src/test/py/test_collector_thrift_endpoint.py

After a while, you should see events showing up in /tmp/collector/hdfs:

collector > find /tmp/collector/hdfs/hello -type f
/tmp/collector/hdfs/hello/2010/07/29/12/.2010-07-29T12.38.28.309-07.00-127.0.0.1-8080.crc
/tmp/collector/hdfs/hello/2010/07/29/12/2010-07-29T12.38.28.309-07.00-127.0.0.1-8080

collector > hexdump -C /tmp/collector/hdfs/hello/2010/07/29/12/2010-07-29T12.38.28.309-07.00-127.0.0.1-8080
00000000  53 45 51 06 27 63 6f 6d  2e 6e 69 6e 67 2e 73 65  |SEQ.'com.ning.se|
00000010  72 69 61 6c 69 7a 61 74  69 6f 6e 2e 54 42 6f 6f  |rialization.TBoo|
00000020  6c 65 61 6e 57 72 69 74  61 62 6c 65 25 63 6f 6d  |leanWritable%com|
00000030  2e 6e 69 6e 67 2e 73 65  72 69 61 6c 69 7a 61 74  |.ning.serializat|
00000040  69 6f 6e 2e 54 68 72 69  66 74 45 6e 76 65 6c 6f  |ion.ThriftEnvelo|
00000050  70 65 01 01 2a 6f 72 67  2e 61 70 61 63 68 65 2e  |pe..*org.apache.|
00000060  68 61 64 6f 6f 70 2e 69  6f 2e 63 6f 6d 70 72 65  |hadoop.io.compre|
00000070  73 73 2e 44 65 66 61 75  6c 74 43 6f 64 65 63 00  |ss.DefaultCodec.|
00000080  00 00 00 ee 0a f7 f7 38  37 c3 a6 76 b0 1f d3 78  |...?.??87�v?.?x|
00000090  99 a3 45 ff ff ff ff ee  0a f7 f7 38 37 c3 a6 76  |.?E?????.??87�v|
000000a0  b0 1f d3 78 99 a3 45 14  0b 78 9c 63 65 c5 04 00  |?.?x.?E..x.ce?..|
000000b0  04 2e 00 65 10 78 9c 63  62 60 64 64 60 a2 2d 01  |...e.x.cb`dd`?-.|
000000c0  00 10 68 00 51 0b 78 9c  53 54 c4 04 00 1b 26 02  |..h.Q.x.ST?...&.|
000000d0  95 28 78 9c e3 66 00 01  d6 8c d4 9c 9c 7c 6e 06  |.(x.?f..?.?..|n.|
000000e0  46 20 9b 17 42 b1 96 e7  17 e5 a4 30 30 70 8f 2a  |F ..B?.?.?00p.*|
000000f0  18 55 40 5f 05 00 63 ca  59 39                    |.U@_..c?Y9|
000000fa

You can test the HTTP endpoint using curl (events will end up in /tmp/collector/hdfs as well):

collector > curl -v http://127.0.0.1:8080/1?v=Hello,sWorld
* About to connect() to 127.0.0.1 port 8080 (#0)
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET /1?v=Hello,sWorld HTTP/1.1
> User-Agent: curl/7.19.6 (i386-apple-darwin9.8.0) libcurl/7.19.6 zlib/1.2.3
> Host: 127.0.0.1:8080
> Accept: */*
>
< HTTP/1.1 202 Accepted
< Cache-Control: private, no-cache, no-transform, proxy-revalidate
< Content-Length: 0
< Server: Jetty(6.1.x)
<
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0

License (see LICENSE-2.0.txt file for full license)

Copyright 2010-2012 Ning

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

com.ning

Ning

Versions

Version
2.0.16
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.3
2.0.2
2.0.1
2.0.0
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.1
1.1.0-pre11
1.1.0-pre10
1.1.0-pre9
1.1.0-pre8
1.1.0-pre7
1.1.0-pre6
1.1.0-pre5
1.1.0-pre4
1.1.0-pre3
1.1.0-pre2
1.1.0-pre1
1.1.0
1.0.3-cdh
1.0.3
1.0.2
1.0.1