Giter VIP home page Giter VIP logo

spector's Introduction

Spector

Open source alternative to monitor, debug and improve your Lambda Functions.

Spector will make use of AWS APIs to fetch data from your AWS account and produce actionable metrics and detailed data without the need of editing any code!

You will need to provide Spector with read access to your AWS account to collect the data.

What will it do?

  • Spector will periodically poll your AWS account for data and save everything to the local database.

  • After importing the logs, an aggregator will start and go through all imported data and extract metrics by each invocation. The Aggregator will detect the result, duration, memory usage and other meaningful information about the invocation.

  • Spector will also detect errors from invocations and show them in the UI for you to see and debug.

Security?

This will be provided as a customizable docker image for you to host, or run locally. No data will be sent to any remote servers for any reasons, to uphold maximum security.

What about overhead?

Spector will get all of the information from logs when they reach AWS CloudWatch, meaning that the service will have no effect on the code execution itself.

Development

Requirements

  • Docker
  • Editor of your choice
  • Yup, that's it!

Installation

  • Clone the repo: git clone https://github.com/Caidac-3301/spector.git
    • The wiki is made available in the repo as docs/ with help of git submodules.
    • Either pass --recurse-submodules flag with the above git clone command,
    • Or run git submodule init and git submodule update separately after cloning
    • This is optional, in case you don't need the docs.
  • Run docker-compose up
  • Visit http://localhost:3000/
  • Play with it

Developer Notes

Dev environment is set up in a way to watch over your files, copy it to the container, compile it and run it. Simply run docker-compose up to start the container. Additionally you may pass -d flag to start in detached mode. Read more here.

Any change you make to your local file will be reflected to the container immediately. Currently the changes to package.json is not reflected without rebuilding the image. This will be fixed in the upcoming commits soon.

Rebuilding the images

After adding new npm packages, you will have to rebuild your images as follows:

  • docker-compose stop
  • docker-compose rm
  • docker-compose up --build

Add new npm packages directly:

docker-compose run app npm install <package-name> --save

Todo

  • Get Logs from AWS (Prototype)
  • Dockerize PostgreSQL
  • Implement initial models
  • Implement a basic Aggregator
  • Implement Project view
  • Implement Function view
  • Implement Invocation view

spector's People

Contributors

rahulpsd18 avatar

Watchers

 avatar  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.