github.com/cockroachdb/pebble@v0.0.0-20231214172447-ab4952c5f87b/tool/logs/tool.go (about) 1 // Copyright 2021 The LevelDB-Go and Pebble Authors. All rights reserved. Use 2 // of this source code is governed by a BSD-style license that can be found in 3 // the LICENSE file. 4 5 package logs 6 7 import ( 8 "time" 9 10 "github.com/spf13/cobra" 11 ) 12 13 // NewCmd returns a new cobra.Command for parsing logs. 14 func NewCmd() *cobra.Command { 15 cmd := &cobra.Command{ 16 Use: "logs", 17 Short: "Scan and summarize logs", 18 } 19 20 compactionCmd := &cobra.Command{ 21 Use: "compactions", 22 Short: "Scan and summarize compaction logs", 23 RunE: runCompactionLogs, 24 } 25 compactionCmd.Flags().Duration( 26 "window", 10*time.Minute, "time window in which to aggregate compactions") 27 compactionCmd.Flags().Duration( 28 "long-running-limit", 0, "log compactions with runtime greater than the limit") 29 30 cmd.AddCommand(compactionCmd) 31 return cmd 32 }