Coder Social home page Coder Social logo

eventbrite / tikibar Goto Github PK

View Code? Open in Web Editor NEW
0.0 20.0 2.0 154 KB

A debugging and information toolbar for django, designed for lightweight impact so it can be enabled selectively and run in production.

License: Other

Python 42.84% JavaScript 5.23% HTML 50.80% Makefile 1.04% Dockerfile 0.09%
django debugging django-orm

tikibar's Introduction

Tikibar

A debugging and information toolbar for django, designed for lightweight impact so it can be enabled selectively and run in production.

Features

Among other things, it includes:

  • CPU usage time statistics
  • Used template tracking
  • SQL call logging and timing
  • Cross-domain functionality

Getting Started

To use Tikibar, you need to add it to your Django INSTALLED_APPS and then include the middleware (tikibar.middleware.TikibarMiddleware) in your Django middleware configuration.

Release Process

  • Bump version in tikibar/version.py | __version_info__ = (x, x, x).
  • git add tikibar/version.py
  • git commit -am 'Bump tikibar to x.x.x'
  • git push origin master
  • git tag -a x.x.x -m "Bump tikibar to x.x.x"
  • git push origin x.x.x

tikibar's People

Contributors

abacigalup-eb avatar amira-eb avatar andrewgodwin avatar eb-cmoyano avatar eb-enzo avatar eb-jennz0r avatar eb-miguelgonzalez avatar ebpitts avatar ecrespillo-eb avatar epochblue avatar eyalr avatar gabrielf-eb avatar ramiro-eb avatar rwholey-eb avatar sethbrite avatar therealphildini avatar tophevb avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tikibar's Issues

Improve usefulness of client timing tab

Right now, the client timing tab in tikibar is doing a bad impersonation of the Chrome devtools waterfall. Someone who is motivated to work on frontend things should feel free to make that tab useful, or optionally deprecate it.

Flesh out test app

The test application in the tikibar repo should use as much of Tikibar's functionality as possible.

Pull out the "Analytics" tab into something generalizable.

The way tikibar handles analytics actions is one of the last things that needs to change before we can open source tikibar.

One way of doing this is to make a "plugins" framework, where users could register an analytics handler for tikibar that would "do the right thing"

The super simple version of this is make a settings flag that turns analytics actions on or off.

Timing graph should represent clock time, rather than just cascading

The "time in queries" graph purports to represent how long each query took, and indeed the width of each bar is proportional to the time spent relative to the full width of the view. But the position of the bar is misleading - every bar is positioned immediately to the right of the bar above it.

In reality, these events can overlap and have spaces between them. The most obvious example is when a local SOA call makes SQL requests - the large bar representing the SOA call should overlap the SQL requests that are made as part of that call. As it is, the graph "double counts" time spent in SOA.

The events as recorded have accurate start/end timestamps on them. So the bars should just be drawn with a left/width based on that, not on whatever happens to have been drawn already.

Tikibar should be able to work cross-domain

If multiple domains are being powered by the same Django app, and if tikibar is enabled on one domain, it should show up on other domains.

The use case right now is, if you have a main domain and an API browser domain, tikibar being enabled on the main domain should show it on the API browser domain.

This used to work, but doesn't now. The cookie is being set correctly on the API domain, but Tikibar isn't showing up.

Digging into the "should show tikibar" code may reveal the answer.

Include optional middleware for SQL tracking

Right now, we use Eventbrite's custom SQL handler to log things to tikibar. To make tikibar usable for non-Eventbrite people, we need to include a SQL logger that people can optionally include, preferably through middle-ware.

Create SQL Tracking Middleware

Right now we collect the SQL metrics tikibar uses in a custom piece of Eventbrite-specific code. We should work on getting a piece of middleware running that does the same collection for non-Eventbrite users.

Closing Tikibar leaves weird negative space at the top of the page.

STR:

  1. Open Tikibar on any page.
  2. Click on the settings wheel/gear, then Turn off Tikibar for all pages.

Expected: Tikibar should be removed and the page should go back to filling the viewport.
Actual: Tikibar is removed, but there is a weird negative space at the top of the page.

Fix the scrolling jitteryness

On some pages, if you open the Queries timing tab, you see the scroll bar jump around.

Figure out why this happens, and fix it.

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.