profile
viewpoint
JBD rakyll @google San Francisco, CA https://jbd.dev jbd@google.com or rakyll@rakyll.org

rakyll/boom 4819

HTTP(S) load generator, ApacheBench (ab) replacement, written in Go

google/gops 3703

A tool to list and diagnose Go processes currently running on your system

campoy/go-tooling-workshop 2521

A workshop covering all the tools gophers use in their day to day life

rakyll/autopprof 686

Pprof made easy at development time for Go

GoogleCloudPlatform/govanityurls 345

Use a custom domain in your Go import path

GoogleCloudPlatform/gcping 143

Like gcping.com but a command line tool

GoogleCloudPlatform/stackdriver-reverse-proxy 39

Simple HTTP proxy to automatically traces the incoming requests

cloudspannerecosystem/harbourbridge 7

Turnkey Postgres-to-Spanner evaluation

issue commentgoogleapis/google-cloud-go

spanner: provide column types in results

spanner.GenericColumnValue seems to be doing what I want to do.

rakyll

comment created time in 11 hours

push eventrakyll/govalidate

JBD

commit sha 65686fec0e02f943363a0bced266a5fb287d371d

Check versions by using the official API

view details

push time in 13 hours

issue openedgoogleapis/google-cloud-go

spanner: provide column types in results

The underlying proto contains ResultSetMetadata.RowType for results returned from the API but spanner.Row or spanner.RowIterator are not surfacing them to the user. I'm trying to put together a "database/sql" driver for Spanner and without the column type it is not possible.

/cc @tbpg

created time in 15 hours

push eventrakyll/govalidate

JBD

commit sha a83dae0a454ac40b694a3dbd9bebe84fc2fedfe3

Release go1.14

view details

push time in a day

created tagrakyll/statik

tagv0.1.7

Embed files into a Go executable

created time in 2 days

release rakyll/statik

v0.1.7

released time in 2 days

created tagGoogleCloudPlatform/gcping

tagv0.0.4

Like gcping.com but a command line tool

created time in 3 days

release GoogleCloudPlatform/gcping

v0.0.4

released time in 3 days

delete branch rakyll/github-actions

delete branch : readme

delete time in 5 days

startedjcchavezs/httpmole

started time in 6 days

delete branch rakyll/kubernetes-engine-samples

delete branch : helloapp

delete time in 6 days

issue openedGoogleCloudPlatform/github-actions

Feature request: Add example flow for Cloud Build

Then the users can automatically build a container via Cloud Build even though they are not deploying it after each merge.

created time in 7 days

startedGoogleCloudPlatform/github-actions

started time in 7 days

pull request commentGoogleCloudPlatform/github-actions

Add GCE workflow to the README

Ah, duplicate of https://github.com/GoogleCloudPlatform/github-actions/pull/56/.

rakyll

comment created time in 8 days

create barnchrakyll/github-actions

branch : readme

created branch time in 8 days

push eventGoogleCloudPlatform/govanityurls

JBD

commit sha 5403fc24b6ff29780f40c93863e99871f885ba10

Mention govanityurls can run outside of GAE

view details

push time in 8 days

created tagGoogleCloudPlatform/govanityurls

tagv0.1.0

Use a custom domain in your Go import path

created time in 8 days

release GoogleCloudPlatform/govanityurls

v0.1.0

released time in 8 days

issue commentGoogleCloudPlatform/govanityurls

http (non-https) urls still redirecting to godoc.org

I can't reproduce this :(

http://gotest.tools goes to https://pkg.go.dev/gotest.tools/?tab=doc but https://godoc.org/gotest.tools/assert errors with "Error getting package files from api.github.com.". Could it be a godoc.org issue?

dnephin

comment created time in 8 days

startedMylesBorins/cleanup

started time in 8 days

issue closedrakyll/govalidate

Add help text

The help text for govalidate currently is:

$ govalidate --help
Usage of govalidate:
  -ignore-cgo

  -ignore-editors

Add a nicer and more comprehensive help text.

closed time in 8 days

rakyll

issue commentrakyll/govalidate

Add help text

Yup, closing.

rakyll

comment created time in 8 days

push eventrakyll/govalidate

JBD

commit sha 5767ab4ad60abed5716510f3a12d6e0f8762c791

Improve help text formating, fix typos.

view details

push time in 13 days

pull request commentGoogleCloudPlatform/github-actions

Add GCE workflow and instructions

GitHub ate one of your comments but I also addressed it. There were nested lists in the doc but they were not rendered correctly due to bad formatting.

rakyll

comment created time in 13 days

Pull request review commentGoogleCloudPlatform/github-actions

Add GCE workflow and instructions

+<!-- Copyright 2020 Google LLC++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License. -->++# Google Compute Engine - GitHub Actions++An example workflow that uses [GitHub Actions](https://help.github.com/en/categories/automating-your-workflow-with-github-actions) to deploy a container to an existing [Google Compute Engine](https://cloud.google.com/compute-engine/) (GCE) instance.++## Workflow++For pushes to the _default_ branch, `master`, the workflow will:++1. Verify the Google Cloud Platform credentials are correct.+1. Build, tag, and push the image to Google Container Registry.+1. Deploy the container image to a Google Compute Engine instance.+    * Note that a GCE deployment requires an existing [container-optimized VM][create-vm].++## Setup++1. Create or reuse a Github repository for the example workflow:

The following nested bulletin item list is what it's referring to.

rakyll

comment created time in 13 days

Pull request review commentGoogleCloudPlatform/github-actions

Add GCE workflow and instructions

+# Copyright 2020 Google, LLC.+#+# Licensed under the Apache License, Version 2.0 (the "License");+# you may not use this file except in compliance with the License.+# You may obtain a copy of the License at+#+#    http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing, software+# distributed under the License is distributed on an "AS IS" BASIS,+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+# See the License for the specific language governing permissions and+# limitations under the License.++name: Build and Deploy to Google Compute Engine++on:+  push:+    branches:+    - master++env:+  GCE_PROJECT: ${{ secrets.GCE_PROJECT }}+  GCE_INSTANCE: container-optimized-vm+  GCE_INSTANCE_ZONE: us-central1-a++jobs:+  setup-build-publish-deploy:+    name: Setup, Build, Publish, and Deploy+    runs-on: ubuntu-latest+    steps:++    - name: Checkout+      uses: actions/checkout@master++    # Setup gcloud CLI+    - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master+      with:+        version: '270.0.0'+        service_account_email: ${{ secrets.SA_EMAIL }}+        service_account_key: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}++    # Configure docker to use the gcloud command-line tool as a credential helper+    - run: |+        gcloud auth configure-docker

I didn't want to enforce the user to enable Cloud Build to use this workflow. I assume advanced users can always switch to gcloud builds submit by modifying this workflow.

rakyll

comment created time in 13 days

push eventrakyll/github-actions

JBD

commit sha fb5fa6ad04c48588f74f3163bd2f7efa7670880f

Improve formatting

view details

push time in 13 days

push eventrakyll/github-actions

JBD

commit sha 7087a7fac0271277fff1216ec6ae919c55853513

Improve formatting

view details

push time in 13 days

push eventrakyll/github-actions

JBD

commit sha 0a66a459115f1484c261d82b1c40fe7885b88be9

Add placeholders for VM name and zone

view details

JBD

commit sha 9d313e04744dd52a6d0fc5439b3abf1b0c0aa3d3

Improve formatting

view details

push time in 13 days

push eventrakyll/actions-test

JBD

commit sha f9ec7f937d3e3a64c5c5d292bf96b7f9ca020da5

Formatting improvements

view details

push time in 13 days

Pull request review commentGoogleCloudPlatform/github-actions

Add GCE workflow and instructions

+# Copyright 2020 Google, LLC.+#+# Licensed under the Apache License, Version 2.0 (the "License");+# you may not use this file except in compliance with the License.+# You may obtain a copy of the License at+#+#    http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing, software+# distributed under the License is distributed on an "AS IS" BASIS,+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+# See the License for the specific language governing permissions and+# limitations under the License.++name: Build and Deploy to Google Compute Engine++on:+  push:+    branches:+    - master++env:+  GCE_PROJECT: ${{ secrets.GCE_PROJECT }}

I'd be nice to standardize some of these variable names at some point. Each workflow is using something else and making it harder to reuse.

rakyll

comment created time in 13 days

PR opened GoogleCloudPlatform/github-actions

Add GCE workflow and instructions

GCE deployment currently focuses only on container-optimized VMs as noted in the instructions.

+153 -0

0 comment

3 changed files

pr created time in 14 days

create barnchrakyll/github-actions

branch : gce

created branch time in 14 days

fork rakyll/github-actions

A collection of GitHub Actions for interfacing with Google Cloud Platform.

fork in 14 days

push eventrakyll/actions-test

JBD

commit sha 52dd654b8bc8edce10ac29f957b2fd2f2cc4d27e

Fix project

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha eef7b6addaf3d0d30c6bb42d1b7d12c74b34af32

Changes

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha 90a6c7c754763832b3226b4e8ebbe7d505fd1250

Add changes

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha fcb4f8369b71ed2e97b5c13d8bc57d33c99ceeed

Fix image name

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha 2995efe82fa585d1941b55ff4057db2e15d27381

Fix the workflow

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha b902b8b2307a29747fde40addb5269011f6b6cce

Add deploy

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha 89078045fe955c76ae5aa36bf921d6be7304c4ac

Add Dockerfile

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha be3caec19c54d9080eacd758ba211879609e9dff

Changes

view details

push time in 14 days

push eventrakyll/actions-test

JBD

commit sha 014373a502684ae5b1ccab171c5aa781ea696278

Changes

view details

push time in 14 days

create barnchrakyll/actions-test

branch : master

created branch time in 14 days

created repositoryrakyll/actions-test

created time in 14 days

pull request commentrakyll/govalidate

Add help text

Thanks.

lexor

comment created time in 14 days

push eventrakyll/govalidate

Emre DEĞER

commit sha bf7d7765a252cf311ee89ff877584b93859a352c

Add help text (#6)

view details

push time in 14 days

PR merged rakyll/govalidate

Add help text
  • Add detailed help text.
+15 -0

1 comment

1 changed file

lexor

pr closed time in 14 days

push eventrakyll/govalidate

Emre DEĞER

commit sha 92dff0b6050a12a7e33c64e8948d6a70e092c63a

Update Go versions: 1.13.8, 1.12.17 (#11)

view details

push time in 14 days

pull request commentrakyll/govalidate

Update Go versions: 1.13.8, 1.12.17

Thanks.

lexor

comment created time in 14 days

PR opened GoogleCloudPlatform/kubernetes-engine-samples

Fix minor readability issues
  • Avoid the intermediate variable names where possible.
  • Don't name a ServeMux as a server.
  • Move the PORT below where it contextually is more relevant.
  • Keep hello-aoo and quickstart consistent.
+11 -9

0 comment

2 changed files

pr created time in 14 days

create barnchrakyll/kubernetes-engine-samples

branch : helloapp

created branch time in 14 days

startedcloudspannerecosystem/harbourbridge

started time in 15 days

issue openedgolang/go

go.dev: Examples title is not generated, anchor link to examples is not working

On https://pkg.go.dev/cloud.google.com/go, the "Examples" anchor link is not working because there is no "Examples" title in the page. I couldn't reproduce it in other pages.

created time in 15 days

startedfyne-io/fyne

started time in 17 days

issue closedrakyll/govalidate

Don't hardcode Go versions into the tool

Otherwise, users have to reinstall a new version of govalidate to be able to see if they are using a supported Go version.

closed time in 21 days

rakyll

issue commentrakyll/govalidate

Don't hardcode Go versions into the tool

Closed via 3506f722c96df3637a2ce0fd2b1c282c721f967c.

rakyll

comment created time in 21 days

push eventrakyll/govalidate

JBD

commit sha 3506f722c96df3637a2ce0fd2b1c282c721f967c

Switch to an API for supported version

view details

push time in 21 days

push eventrakyll/govalidate

JBD

commit sha 1577d24d62743df282da43f2a1b2b24dc67bf8b4

Add goversion.txt

view details

push time in 21 days

push eventrakyll/govalidate

JBD

commit sha fff92c05f58ecc45a5d1a72a827095a1dc9c5017

Fix Makefile

view details

push time in 21 days

push eventrakyll/govalidate

JBD

commit sha ce32c1af4d28932fba5ee1abf15b4868019aaecb

Put the 1.14 RC1 in the supported versions

view details

push time in 21 days

pull request commentrakyll/gotest

Mark skipped tests in the output

Thanks!

slomek

comment created time in 21 days

push eventrakyll/gotest

Paweł Słomka

commit sha 3023d5d6366ccf8fb2d18c6f7f3a4205fd4ce75e

Mark skipped tests in the output (#11)

view details

push time in 21 days

PR merged rakyll/gotest

Mark skipped tests in the output

Marks skipped tests with yellow, should be visible in both light and dark terminals.

+5 -0

0 comment

1 changed file

slomek

pr closed time in 21 days

MemberEvent

pull request commentrakyll/govalidate

Update Go versions: 1.13.7, 1.12.16

Side note: I'll work on an API endpoint so the users don't have to get get -u to properly use this tool.

jasonfriedland

comment created time in 21 days

push eventrakyll/govalidate

Jason Friedland

commit sha 3cc734e492df2d97f9836684578e724a42efd63b

Update Go versions: 1.13.7, 1.12.16 (#10)

view details

push time in 21 days

PR merged rakyll/govalidate

Update Go versions: 1.13.7, 1.12.16

Update Go versions pending the fix for PR #8.

+2 -2

0 comment

1 changed file

jasonfriedland

pr closed time in 21 days

issue commentGoogleCloudPlatform/govanityurls

[Action Required] Upgrade your App Engine Standard applications to Go 1.11 or 1.12 before October 1, 2019

Closed via #34.

(Note: I added some more contributors including @philips to the repo.)

tamalsaha

comment created time in 21 days

issue closedGoogleCloudPlatform/govanityurls

[Action Required] Upgrade your App Engine Standard applications to Go 1.11 or 1.12 before October 1, 2019

Today, I received an email like this.

Action-Required-Upgrade-your-App-Engine-Standard-applications-to-Go-1-11-or-1-12-before-October-1-2019-tamal-appscode-com-AppsCode-Inc-Mail

Does anyone know what things I need to update?

cc: @rakyll

closed time in 21 days

tamalsaha

pull request commentGoogleCloudPlatform/govanityurls

Update to use app engine runtime go112

Thanks much!

philips

comment created time in 21 days

push eventGoogleCloudPlatform/govanityurls

Brandon Philips

commit sha 26a09c434df4eec6dc5a11e456765769998ebb7c

Update to use app engine runtime go112 (#34) * app.yaml: update to go112 Make the required changes to use go112 due to the deprecation of Go 1.9. Migration doc: - https://cloud.google.com/appengine/docs/standard/go111/go-differences References: - https://github.com/GoogleCloudPlatform/govanityurls/issues/29#issuecomment-506538041 - https://github.com/etcd-io/maintainers/issues/17 * go.mod: initial commit Migrate this project to use go.mod and update the README. This is part of the recommended steps to runtime: go111 and beyond. https://cloud.google.com/appengine/docs/standard/go111/go-differences * vendor: add dependent packages Add all dependencies for the project via vendoring for offline builds. * travis.yml: drop go 1.6 for 1.12 Go 1.6 is too old to have a number of builtin packages for the latest appengine package. Remove and update to match app engine version: 1.12. * appengine.go: remove unused file From the go111 migration doc: "The appengine build tag is deprecated and will not be used when building your app for deployment. Ensure your code still functions correctly without it being set." https://cloud.google.com/appengine/docs/standard/go111/go-differences * main: respect PORT environment variable The go111 runtime should use the PORT variable to decide the listening http port. "PORT The port that receives HTTP requests." https://cloud.google.com/appengine/docs/standard/go111/runtime

view details

push time in 21 days

PR merged GoogleCloudPlatform/govanityurls

Update to use app engine runtime go112
  • Update app.yaml
  • Introduce go.mod
  • Vendor deps
+33743 -51

0 comment

98 changed files

philips

pr closed time in 21 days

pull request commentrakyll/hey

Update README.md

Thank you very much!

ashley

comment created time in a month

push eventrakyll/hey

Ashley

commit sha f3676ef133bcbda356147da8c0ded4d36d1d28f5

Update README.md (#191)

view details

push time in a month

PR merged rakyll/hey

Update README.md

Mirrors #191 but on the README.md

+2 -2

0 comment

1 changed file

ashley

pr closed time in a month

pull request commentrakyll/hey

Clarify -c and -q flag description

Would you be interested in sending a follow up PR to update the README?

ashley

comment created time in a month

issue closedgoogle/gops

New release?

Hi there,

Would it be possible to cut a new release? It would be especially nice to get #87 in a released version.

Thanks!

closed time in a month

danp

issue commentgoogle/gops

New release?

https://github.com/google/gops/releases/tag/v0.3.7 is released.

danp

comment created time in a month

created taggoogle/gops

tagv0.3.7

A tool to list and diagnose Go processes currently running on your system

created time in a month

release google/gops

v0.3.7

released time in a month

created tagrakyll/hey

tagv0.1.3

HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

created time in a month

release rakyll/hey

v0.1.3

released time in a month

push eventrakyll/hey

Ashley

commit sha 36f181ad99713ffd70c09a021ea8a689b8fb43d3

Clarify -c and -q flag description (#190)

view details

push time in a month

PR merged rakyll/hey

Clarify -c and -q flag description

Changing the description of -c to Number of workers to run concurrently... and -q to in queries per worker per second..... This will clarify that the c flag is used to define the number of threads and -q is actually the number of requests per worker per second.

Motivated by #140 #143 and #158

Use Cases:

  • Someone who uses the duration (-z) flag, and want to set the total number of queries per second:
    • Recognize that QPS (queries per second) is -c times -q
  • Someone who wants to send 2,000 total number of queries without changing -n:
    • Recognize that -c is not the total number of requests and would set -c as 10 because the default -n is 200 so 200 * 10 = 2,000 queries

This makes more sense as a first impression, but I'm open to any recommendations!

+2 -2

1 comment

1 changed file

ashley

pr closed time in a month

pull request commentrakyll/hey

Clarify -c and -q flag description

Thanks so much!!!

ashley

comment created time in a month

Pull request review commentrakyll/hey

Clarify -c and -q flag description

 var usage = `Usage: hey [options...] <url>  Options:   -n  Number of requests to run. Default is 200.-  -c  Number of requests to run concurrently. Total number of requests cannot+  -c  Number of workers to run concurrently. Total number of requests cannot       be smaller than the concurrency level. Default is 50.-  -q  Rate limit, in queries per second (QPS). Default is no rate limit.+  -q  Rate limit, in queries per worker per second. Default is no rate limit.

This is actually per request per worker per second. Is it possible to say "QPS per worker"?

ashley

comment created time in a month

PublicEvent

PR opened GoogleCloudPlatform/community

Suggest gcping tool instead of the website

We decided to launch a tool version of gcping.com so the users don't have to deal with a browser on a server.

+2 -4

0 comment

1 changed file

pr created time in a month

create barnchGoogleCloudPlatform/community

branch : rakyll-gcping

created branch time in a month

issue openedrakyll/govalidate

Don't hardcode Go versions into the tool

Otherwise, users have to reinstall a new version of govalidate to be able to see if they are using a supported Go version.

created time in 2 months

Pull request review commentrakyll/govalidate

Add help text

 func runCheck(optional bool, c checker) int { 	return exit } +func runHelpText() {

Can you rename it to printHelp?

lexor

comment created time in 2 months

Pull request review commentrakyll/govalidate

Add help text

 type checker interface { var ( 	ignoreCGO     bool 	ignoreEditors bool+	showHelpText  bool )  func main() { 	flag.BoolVar(&ignoreCGO, "ignore-cgo", false, "") 	flag.BoolVar(&ignoreEditors, "ignore-editors", false, "")+	flag.BoolVar(&showHelpText, "help", false, "") 	flag.Parse()  	var exit int 	// TODO(jbd): Check operating system requirements. 	// See https://github.com/golang/go/wiki/MinimumRequirements for 	// a more comprehensive list.+	if showHelpText {

Just override flag.Usage instead of introducing this flag.

flag.Usage = runHelpText

lexor

comment created time in 2 months

pull request commentrakyll/govalidate

Use path list separator defined in os pkg

Thanks!

sudo-suhas

comment created time in 2 months

push eventrakyll/govalidate

Suhas Karanth

commit sha 2c2f56b38be71aa2681b862f4ac6c29d8f21d89a

Use path list separator defined in os pkg (#7)

view details

push time in 2 months

PR merged rakyll/govalidate

Use path list separator defined in os pkg

Since it is already defined in the os package, there is no need to re-define it here.

+1 -19

0 comment

3 changed files

sudo-suhas

pr closed time in 2 months

more