spannerz

command module
v0.0.0-...-3fb59ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

README

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.

Documentation

Overview

Program spannerz starts a web server to visualize the query plan for a Google Cloud Spanner query.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL