forked from sourcegraph/sourcegraph-public-snapshot
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathobservability.go
More file actions
65 lines (57 loc) · 2.11 KB
/
observability.go
File metadata and controls
65 lines (57 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package codegraph
import (
"fmt"
"github.com/sourcegraph/sourcegraph/internal/metrics"
"github.com/sourcegraph/sourcegraph/internal/observation"
)
type operations struct {
insertMetadata *observation.Operation
idsWithMeta *observation.Operation
reconcileCandidates *observation.Operation
deleteLsifDataByUploadIds *observation.Operation
deleteUnreferencedDocuments *observation.Operation
writerOperations writerOperations
}
type writerOperations struct {
insertDocuments *observation.Operation
insertDocumentLookups *observation.Operation
constructTrie *observation.Operation
insertSymbolNames *observation.Operation
insertSymbols *observation.Operation
flushSymbolNames *observation.Operation
flushSymbols *observation.Operation
}
var m = new(metrics.SingletonREDMetrics)
func newOperations(observationCtx *observation.Context) *operations {
redMetrics := m.Get(func() *metrics.REDMetrics {
return metrics.NewREDMetrics(
observationCtx.Registerer,
"codeintel_uploads_lsifstore",
metrics.WithLabels("op"),
metrics.WithCountHelp("Total number of method invocations."),
)
})
op := func(name string) *observation.Operation {
return observationCtx.Operation(observation.Op{
Name: fmt.Sprintf("codeintel.uploads.lsifstore.%s", name),
MetricLabelValues: []string{name},
Metrics: redMetrics,
})
}
return &operations{
insertMetadata: op("InsertMetadata"),
idsWithMeta: op("IDsWithMeta"),
reconcileCandidates: op("ReconcileCandidates"),
deleteLsifDataByUploadIds: op("DeleteLsifDataByUploadIds"),
deleteUnreferencedDocuments: op("DeleteUnreferencedDocuments"),
writerOperations: writerOperations{
insertDocuments: op("InsertDocuments"),
insertDocumentLookups: op("InsertDocumentLookups"),
constructTrie: op("ConstructTrie"),
insertSymbols: op("InsertSymbols"),
insertSymbolNames: op("InsertSymbolNames"),
flushSymbolNames: op("flushSymbolNames"),
flushSymbols: op("flushSymbols"),
},
}
}