GithubHelp home page GithubHelp logo

erindorothy / moztelemetry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mozilla/moztelemetry

0.0 1.0 0.0 127 KB

Mozilla Telemetry API for Scala

License: Mozilla Public License 2.0

Shell 0.54% Scala 95.76% Python 3.70%

moztelemetry's Introduction

Build Status codecov.io CircleCi

moztelemetry

Mozilla's Telemetry API for Scala

Using moztelemetry

In SBT:

resolvers += "S3 local maven snapshots" at "s3://net-mozaws-data-us-west-2-ops-mavenrepo/snapshots"
libraryDependencies += "com.mozilla.telemetry" %% "moztelemetry" % "1.1-SNAPSHOT"

Testing

To run the tests, build the docker container and run the tests.

Build the container. You only have to do this once or when you update the Dockerfile:

docker build -t moztelemetry .

Run the tests in the docker container:

./bin/test

Other test tasks can by run by passing the task through the test script, e.g.:

./bin/test "testOnly com.mozilla.telemetry.statistics.StatsTest"

Running benchmarks

Benchmarks of the deserialization process can be run using the testing script:

# via docker
./bin/test bench:test

# directly
sbt bench:test

Publishing snapshots

Snapshots will now be published to our local maven repo in s3 on every commit merged into master via a circleci build

Inspecting the Generated Protoc Case Classes

We use protoc to generate case classes which decode (and encode) the protobuf byte arrays.

You can inspect the functions in the generated Field class:

sbt compile
cd target/scala-2.11/classes/com/mozilla/telemetry/heka/
javap -c Field\$.class

There are more components of the field class, which can be seen by simply running ls. For example:

Field$ValueTypeEnum$.class
Field$ValueTypeEnum$BOOL$.class
Field$ValueTypeEnum$BYTES$.class
Field$ValueTypeEnum$DOUBLE$.class
Field$ValueTypeEnum$INTEGER$.class
Field$ValueTypeEnum$STRING$.class
Field$ValueTypeEnum$Unrecognized$.class
Field$ValueTypeEnum$Unrecognized.class
Field$ValueTypeEnum$class.class
Field$ValueTypeEnum.class

moztelemetry's People

Contributors

acmiyaguchi avatar akkomar avatar fbertsch avatar haroldwoo avatar jklukas avatar relud avatar robhudson avatar vitillo avatar whd avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.