## Implement
- [x] Implement file_list API for gRPC
- [x] Debuging deadlock issue
## Todo
- [ ] Querier should use the file_list API for search
---------
Co-authored-by: oasisk <ashish.j.kolhe@gmail.com>
We create default folder , when we first receive call to create a
dashboard in default folder. If an API call tries to create a default
folder , it should not be allowed
Before the fix supported length in bytes by both TCP & UDP was limited
to 1024 bytes, which resulted in values being cut off.
We had two options as fix :
- Support max size in line with standard [IEEE
802.3](https://en.wikipedia.org/wiki/IEEE_802.3) , which limits 1500
bytes of payload , with this we can support 1472 bytes (1500 - 20 (IP
header ) -8 (UDP header) ) for UDP & 1460 bytes(1500 - 20 (IP header )
-20 (TCP header) ) for TCP
- JUMBO frames - Ruled out because : for jumbo frames , frame size used
by an end-to-end connection is typically limited by the lowest frame
size in intermediate links ,not only sender & receiver has to enable
jumbo frames but all intermediate links will have to support it.
Fixes#1514
**Summary : we will support max 1472 bytes for UDP & 1460 bytes for
TCP**
## Design Spec:
- POST `/api/:org/ingest/metrics/_json`
```json
[
{
"__name__": "stream name",
"__type__": "counter / gauge / histogram / summary",
"label_name1": "label_value1",
"label_name2": "label_value2",
"_timestamp": 0, // unix timestamp in millisecond
"value": 0.0 // float64 value
}
]
```
## How to use this API:
- must use `__name__` set stream name.
- must use `__type__` set metrics type. and the type can't be updated
after first record
- `_timestamp` needs UNIX timestamp or empty will fill by current
timestamp
- `value` should be float64 or int64
## Example:
POST `/api/default/ingest/metrics/_json`
```json
[
{
"__name__": "cpu",
"__type__": "gauge",
"namespace": "ziox",
"container": "zo1",
"_timestamp": 1687326643584062,
"value": 10.1
},
{
"__name__": "cpu",
"__type__": "gauge",
"namespace": "ziox",
"container": "zo2",
"value": 0.1
}
]
```