Code Monkey home page Code Monkey logo

bloodhound's Introduction

Screen Shot 2023-07-12 at 2 19 32 AM

Bloodhound is an adaptable carbon emissions reporting dashboard.

bloodhound's People

Contributors

ng-druid avatar

bloodhound's Issues

Heat map clock

Clock with heat map number of average requests during each period

upper far left (PM) | right (AM) of dashboard - two clocks on representing AM and another PM.

effectively a pie with equal slices, numbers and hands if we need to go that route.

Screen Shot 2023-07-18 at 12 03 25 AM

Create Opensearch Template to Populate All Time End-Point Emissions Table

  • end-point
    • method - No method exists in current index.
    • path
  • total emissions
  • average power
  • Percentage of total emissions
    • Need to figure out how to do this. Otherwise leave out for now.
  • average memory
  • average duration

optional: squares as heat map to indicate:

  • region/data center for heaviest traffic
  • high to low sci using average

  • function
  • total emissions
  • average power
  • Percentage of total emissions
  • average memory
  • average duration

It might be worth while to create a SOLID for Ag Grid.

https://blog.ag-grid.com/dynamically-setting-ag-grid-columns-from-json/

Ngx Data Table might be the better/slimmer route..

https://swimlane.github.io/ngx-datatable

Create Static Data Line Chart Demo

  • path: /demo/static-line-chart

Chart JSON

{
  "type": "XYChart",
  "refs": {
    "data": [],
    "xAxis": {
      "type": "DateAxis",
      "settings": {
        "baseInterval": {
          "timeUnit": "day",
          "count": 1
        },
        "renderer": {
          "type": "AxisRendererX"
        }
      }
    },
    "yAxis": {
      "type": "ValueAxis",
      "settings": {
        "renderer": {
          "type": "AxisRendererY"
        }
      }
    }
  },
  "settings": {
    "panX": false,
    "panY": false,
    "wheelX": "panX",
    "wheelY": "zoomX",
    "scrollbarX": {
      "type": "Scrollbar",
      "settings": {
        "orientation": "horizontal"
      }
    }
  },
  "properties": {
    "xAxes": [
      "#xAxis"
    ],
    "yAxes": [
      "#yAxis"
    ],
    "series": [
      {
        "type": "LineSeries",
        "settings": {
          "name": "Series",
          "xAxis": "#xAxis",
          "yAxis": "#yAxis",
          "valueYField": "value",
          "valueXField": "date",
          "tooltip": {
            "type": "Tooltip",
            "settings": {
              "labelText": "{valueX}: {valueY}"
            }
          }
        },
        "properties": {
          "data": "#data"
        }
      }
    ]
  }
}

Static data source

[
      { "date": 1652425200000, "value": 92 },
      { "date": 1652511600000, "value": 95 },
      { "date": 1652598000000, "value": 100 },
      { "date": 1652684400000, "value": 100 },
      { "date": 1652770800000, "value": 96 },
      { "date": 1652857200000, "value": 97 },
      { "date": 1652943600000, "value": 94 },
      { "date": 1653030000000, "value": 89 },
      { "date": 1653116400000, "value": 89 },
      { "date": 1653202800000, "value": 87 },
      { "date": 1653289200000, "value": 84 },
      { "date": 1653375600000, "value": 81 },
      { "date": 1653462000000, "value": 85 },
      { "date": 1653548400000, "value": 89 },
      { "date": 1653634800000, "value": 86 },
      { "date": 1653721200000, "value": 90 },
      { "date": 1653807600000, "value": 93 },
      { "date": 1653894000000, "value": 94 },
      { "date": 1653980400000, "value": 94 },
      { "date": 1654066800000, "value": 96 }
]

Create End-Point Table

Columns:

  • path
  • total emissions
  • emissions saved

We could also do it by contract

  • contract
  • total emissions
  • emissions saved

There is a table demo somewhere.

Create Day Chart Page

/emissions-by-date

Line Chart
x axis: day
y: emissions

Consider another chart like this below.

Screen Shot 2023-07-17 at 11 59 49 PM

Goal is net-zero but can be adjusted.

Radial Line Chart

Screen Shot 2023-07-26 at 10 40 00 PM

series for each region
x axis [category]: min intensity, max intensity, avg intensity, request count, carbon saved
y axis [value]

intensity ranges from 0 โ€“ 1000 average around 400 โ€“ 600
divide request count by number that makes sense given intensity range
carbon saved may also need to be altered to better align

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.