Help us shape the future of Go! Take the 2026 Go Developer Survey

go-pg-slowlog

module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: Apache-2.0

README

go-pg-slowlog

A Go library for parsing and collecting the slowlog of PostgreSQL.

Usage

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/tkuchiki/go-pg-slowlog/parser"
)

func main() {
	f, err := os.Open("/path/to/postgresql-xxx.log")
	if err != nil {
		log.Fatal(err)
	}
	defer f.Close()

	logLinePrefix := "%m [%p]"
	slowLogParser, err := parser.NewPGSlowLogParser(f, logLinePrefix)
	if err != nil {
		log.Fatal(err)
	}

	defer slowLogParser.Stop()
	go slowLogParser.Start()

	for logEntry := range slowLogParser.LogEntryChan() {
		fmt.Println(logEntry.Duration, logEntry.Statement) 
	}
	
	// example output
	// 1.009444s SELECT * FROM singers
	// 1.002257s SELECT * FROM albums 
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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