All Projects → rakyll → spannerz

rakyll / spannerz

Licence: Apache-2.0 license
Google Cloud Spanner Query Planner Visualizer

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to spannerz

spanner-bench
Google Cloud Spanner Query Planner Benchmarking
Stars: ✭ 24 (-60%)
Mutual labels:  google-cloud, google-cloud-platform, google-cloud-spanner
Cloud Functions Go
Unofficial Native Go Runtime for Google Cloud Functions
Stars: ✭ 427 (+611.67%)
Mutual labels:  google-cloud, google-cloud-platform
auth
A GitHub Action for authenticating to Google Cloud.
Stars: ✭ 567 (+845%)
Mutual labels:  google-cloud, google-cloud-platform
Grpc Gke Nlb Tutorial
gRPC load-balancing on GKE using Envoy
Stars: ✭ 42 (-30%)
Mutual labels:  google-cloud, google-cloud-platform
gcp-firewall-enforcer
A toolbox to enforce firewall rules across multiple GCP projects.
Stars: ✭ 77 (+28.33%)
Mutual labels:  google-cloud, google-cloud-platform
All About Programming
Everything about programming!!
Stars: ✭ 314 (+423.33%)
Mutual labels:  google-cloud, google-cloud-platform
Django Cloud Tasks
Integrate Google Cloud Tasks with Django
Stars: ✭ 27 (-55%)
Mutual labels:  google-cloud, google-cloud-platform
ob google-bigquery
This service is meant to simplify running Google Cloud operations, especially BigQuery tasks. This means you do not have to worry about installation, configuration or ongoing maintenance related to an SDK environment. This can be helpful to those who would prefer to not to be responsible for those activities.
Stars: ✭ 43 (-28.33%)
Mutual labels:  google-cloud, google-cloud-platform
Unity Solutions
Use Firebase tools to incorporate common features into your games!
Stars: ✭ 95 (+58.33%)
Mutual labels:  google-cloud, google-cloud-platform
Gcpsketchnote
If you are looking to become a Google Cloud Engineer , then you are at the right place. GCPSketchnote is series where I share Google Cloud concepts in quick and easy to learn format.
Stars: ✭ 2,631 (+4285%)
Mutual labels:  google-cloud, google-cloud-platform
Gcp Audit
A tool for auditing security properties of GCP projects.
Stars: ✭ 140 (+133.33%)
Mutual labels:  google-cloud, google-cloud-platform
Google Cloud Cpp
C++ Client Libraries for Google Cloud Services
Stars: ✭ 233 (+288.33%)
Mutual labels:  google-cloud, google-cloud-platform
rowy
Open-source Airtable-like experience for your database (Firestore) with GCP's scalability. Build any automation or cloud functions for your product. ⚡️✨
Stars: ✭ 2,676 (+4360%)
Mutual labels:  google-cloud, google-cloud-platform
Laravel Google Cloud Storage
A Google Cloud Storage filesystem for Laravel
Stars: ✭ 415 (+591.67%)
Mutual labels:  google-cloud, google-cloud-platform
pipeline-editor
Cloud Pipelines Editor is a web app that allows the users to build and run Machine Learning pipelines without having to set up development environment.
Stars: ✭ 22 (-63.33%)
Mutual labels:  google-cloud, google-cloud-platform
Terraform Google Vault
Terraform module to deploy Vault as a container on Google Cloud Run
Stars: ✭ 25 (-58.33%)
Mutual labels:  google-cloud, google-cloud-platform
Googlecloudarchitectprofessional
Resources to prepare for Google Certified Cloud Architect Professional Exam - 2017
Stars: ✭ 177 (+195%)
Mutual labels:  google-cloud, google-cloud-platform
appengine-java-standard
Google App Engine Standard Java runtime: Prod runtime, local devappserver, Cloud SDK Java components, GAE APIs, and GAE API emulators.
Stars: ✭ 141 (+135%)
Mutual labels:  google-cloud, google-cloud-platform
restme
Template to bootstrap a fully functional, multi-region, REST service on GCP with a developer release pipeline.
Stars: ✭ 19 (-68.33%)
Mutual labels:  google-cloud, google-cloud-platform
Fog Google
Fog for Google Cloud Platform
Stars: ✭ 83 (+38.33%)
Mutual labels:  google-cloud, google-cloud-platform

spannerz

spannerz adds an HTTP handler to your binary to report query plans from Google Cloud Spanner clients. You can use spannerz as a standalone binary too.

NOTE: You need Graphviz installed for visualization features.

Goals

  • Allow users to investigate their client setup in production without having to redeploy new versions.
  • Allow users to run a visualizer outside of Google Cloud Console.

Usage

Standalone binary:

$ go get -u github.com/rakyll/spannerz
$ spannerz -db projects/PROJECT/instances/SPANNER_INSTANCE/databases/SPANNER_DB

HTTP handler:

import (
    "cloud.google.com/go/spanner"
    "github.com/rakyll/spannerz/spannerz"
)

client, err := spanner.NewClient(ctx, "projects/PROJECT/instances/SPANNER_INSTANCE/databases/SPANNER_DB")
if err != nil {
    log.Fatalf("Cannot create Spanner client: %v", err)
}
http.Handle("/spannerz", &spannerz.Handler{
    Client: client,
})
log.Fatal(http.ListenAndServe(":9090", nil))

Screenshot

Roadmap

  • Allow running only the query planner without executing the query.
  • Support different optimizer versions.
  • Support partition queries.
  • Support read/write transactions, we currently support read-only ones.

Disclaimer

This is not an official Google product.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].