blob: 511f384be775db2a8f876ed54ee8f1f622f2ced9 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Package repo contains trace repository configuration related structures.
package repo
// StorageFileInfo struct contains all the necessary storage file information
type StorageFileInfo struct {
Name string `json:"Name"`
Size uint64 `json:"Size,string"`
SHA256Sum string `json:"SHA256Sum"`
}
// TraceFileInfo struct contains all the necessary .trace file information
type TraceFileInfo struct {
Name string `json:"Name"`
Size uint64 `json:"Size,string"`
MD5Sum string `json:"MD5Sum"`
Version string `json:"Version"`
FramesCount uint32 `json:"FramesCount,string"`
}
// ReferenceFrameEntry contains all the necessary reference frame information
type ReferenceFrameEntry struct {
Board string `json:"Board"`
CallId uint32 `json:"CallId,string"`
Tags []string `json:"Tags"`
Notes string `json:"Notes"`
FileName string `json:"FileName"`
FileSize uint64 `json:"FileSize,string"`
FileMD5 string `json:"FileMD5"`
}
// TraceListEntry struct contains the detailed information about one trace file
type TraceListEntry struct {
Name string `json:"Name"`
Labels []string `json:"Labels"`
Board string `json:"Board"`
Model string `json:"Model"`
Chipset string `json:"Chipset"`
Time string `json:"Time"`
StorageFile StorageFileInfo `json:"StorageFile"`
TraceFile TraceFileInfo `json:"TraceFile"`
ReferenceFrames []ReferenceFrameEntry `json:"ReferenceFrames"`
ReplayTimeout uint32 `json:"ReplayTimeout,string"`
}
// TraceList struct contains the list of trace entries available on repository
type TraceList struct {
Version string `json:"Version"`
Entries []TraceListEntry `json:"Entries"`
}