aealanlys

package module
v0.0.0-...-c23c075 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

README

appengine-access-log-analyzer (aealanlys)

App Engine Access Log (google.appengine.logging.v1.RequestLog) Analyzer

BigQuery に sink されているアクセスログを用いてルート毎のメトリクスを確認できるようにします。 BQ上でルート毎にアクセスログをまとめるには RegExp を用いています。bqmatcher を参照してください。

詳細はクエリ (internal/aaquery/template.go) を参照するとわかりやすいです。

TODO

  • 複数のテーブルを指定することができず、主に1日単位でしかログを集計できません
    • デフォルトの sink 設定ではテーブル1つは1日のデータを意味します
    • 必要であればワイルドカードテーブルを使用し _TABLE_SUFFIX を用いて絞るようにしてください
  • テーブルより小さい時間範囲でログを集計することができません
  • GAE App の Version でログを絞ることができません

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Analyze

func Analyze(ctx context.Context, client *bigquery.Client, table string, pathGroupBy PathGrouping, csvw io.Writer) error

Analyze BQに問い合わせを行い appengine のログを解析した結果を CSV として writer に書く

func AnalyzeDryrun

func AnalyzeDryrun(ctx context.Context, client *bigquery.Client, table string, pathGroupBy PathGrouping) (*bigquery.JobStatistics, error)

AnalyzeDryrun BQに問い合わせを行い実行計画を返却する

Types

type PathGrouping

type PathGrouping interface {
	// PathToGroupingKeyBQUDF (method, path) を引数とし、なにかしらのグルーピング処理を通した文字列にする BigQuery の UDF 定義を返す
	//
	// method は大文字の表記を、path は path + query を想定しなければならない。
	// 実装例は bqmatcher package を参照
	PathToGroupingKeyBQUDF(funcname string) string
}

type PlanResult

type PlanResult struct {
	Query               string
	TotalBytesProcessed int64
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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