GithubHelp home page GithubHelp logo

leonlnj / timber Goto Github PK

View Code? Open in Web Editor NEW

This project forked from caraml-dev/timber

0.0 0.0 0.0 252 KB

CaraML Logging Control Plane

License: Apache License 2.0

Shell 2.48% Ruby 2.19% Go 61.70% Makefile 2.34% HTML 25.47% Smarty 0.68% Dockerfile 0.81% Python 4.33%

timber's Introduction

timber

License

Overview

Timber comprises of multiple services, central to logging in CaraML ecosystem.

Observation Service provides an interface for reporting observations from Client-owned systems back to CaraML platform. The logged observations will be used for evaluating the effectiveness of a given prediction instance.

Development Environment

Quick Start

a. Build dependencies

# Build Fluentd image
make build-fluentd-image

b. Setup dependencies

Fluentd BQ logging requires a GCP service account to be present at infra/local directory to work properly. Without it, logs will only be flushed to stdout.

# Starts Kafka, Fluentd services
make dependency-services

c. Setup Observation Service

cd observation-service && make observation-service

d. Sample Requests

GRPC requests

# LogObservations API
grpcurl -plaintext -d '{ "observations": [{"prediction_id": "1", "row_id": "1", "target_name": "accepted", "observation_values": [], "observation_context": []}] }' \
  localhost:9001 caraml.upi.v1.ObservationService/LogObservations

# Health checks
grpcurl -plaintext -d '{ "service": "caraml.upi.v1.ObservationService" }' \
  localhost:9001 grpc.health.v1.Health/Watch
grpcurl -plaintext -d '{ "service": "caraml.upi.v1.ObservationService" }' \
  localhost:9001 grpc.health.v1.Health/Check

# Service description
grpcurl -plaintext localhost:9001 describe

Contributing

Timber is still under active development. Please have a look at our contributing and development guides if you want to contribute to the project:

Project Structure

├── common                              # Common code to be reused both in Dataset service and Observation service
├── dataset-service                     # Dataset service implementation.
├── images                              # Docker images
│   └── fluentd                         # FluentD docker image for logwriter and observation service
|   └── observation-service             # Dockerfile for building Observation service
├── infra                               # Infrastructure setup for testing and deployment.
├── logwriter                           # Logwriter implementation.
│   └── fluent-plugin-upi-logs          # FluentD plugin for parsing Universal Prediction Interface protobuf.
├── observation-service                 # Observation service implementation.
├── scripts                             # Miscellaneous scripts.
|   └── vertagen                        # Helper for version string generation.
├── tests                               # Integration and end to end test suites.
├── CONTRIBUTING.md                     # Contributing guide.
├── LICENSE
├── Makefile
├── README.md    

timber's People

Contributors

terryyylim avatar leonlnj avatar pradithya 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.