mirror of https://github.com/grafana/grafana.git
				
				
				
			Loki: Adds line format operation (#47015)
This commit is contained in:
		
							parent
							
								
									475a027562
								
							
						
					
					
						commit
						21fd9dd056
					
				|  | @ -112,6 +112,15 @@ describe('LokiQueryModeller', () => { | ||||||
|     ).toBe('{app="grafana"} | unwrap count'); |     ).toBe('{app="grafana"} | unwrap count'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  |   it('Can render with line_format operation', () => { | ||||||
|  |     expect( | ||||||
|  |       modeller.renderQuery({ | ||||||
|  |         labels: [{ label: 'app', op: '=', value: 'grafana' }], | ||||||
|  |         operations: [{ id: LokiOperationId.LineFormat, params: ['{{.status_code}}'] }], | ||||||
|  |       }) | ||||||
|  |     ).toBe('{app="grafana"} | line_format "{{.status_code}}"'); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|   it('Can render simply binary operation with scalar', () => { |   it('Can render simply binary operation with scalar', () => { | ||||||
|     expect( |     expect( | ||||||
|       modeller.renderQuery({ |       modeller.renderQuery({ | ||||||
|  |  | ||||||
|  | @ -57,6 +57,34 @@ export function getOperationDefintions(): QueryBuilderOperationDef[] { | ||||||
|       explainHandler: () => |       explainHandler: () => | ||||||
|         `This will extract all keys and values from a [logfmt](https://grafana.com/docs/loki/latest/logql/log_queries/#logfmt) formatted log line as labels. The extracted lables can be used in label filter expressions and used as values for a range aggregation via the unwrap operation. `, |         `This will extract all keys and values from a [logfmt](https://grafana.com/docs/loki/latest/logql/log_queries/#logfmt) formatted log line as labels. The extracted lables can be used in label filter expressions and used as values for a range aggregation via the unwrap operation. `, | ||||||
|     }, |     }, | ||||||
|  |     { | ||||||
|  |       id: LokiOperationId.LineFormat, | ||||||
|  |       name: 'Line format', | ||||||
|  |       params: [ | ||||||
|  |         { | ||||||
|  |           name: 'String', | ||||||
|  |           type: 'string', | ||||||
|  |           hideName: true, | ||||||
|  |           placeholder: '{{.status_code}}', | ||||||
|  |           description: 'A line template that can refer to stream labels and extracted labels.', | ||||||
|  |           minWidth: 20, | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |       defaultParams: [''], | ||||||
|  |       alternativesKey: 'format', | ||||||
|  |       category: LokiVisualQueryOperationCategory.Formats, | ||||||
|  |       orderRank: LokiOperationOrder.LineFormats, | ||||||
|  |       renderer: (model, def, innerExpr) => `${innerExpr} | line_format "${model.params[0]}"`, | ||||||
|  |       addOperationHandler: addLokiOperation, | ||||||
|  |       explainHandler: () => | ||||||
|  |         `This will replace log line using a specified template. The template can refer to stream labels and extracted labels. 
 | ||||||
|  | 
 | ||||||
|  |         Example: \`{{.status_code}} - {{.message}}\` | ||||||
|  | 
 | ||||||
|  |         [Read the docs](https://grafana.com/docs/loki/latest/logql/log_queries/#line-format-expression) for more.
 | ||||||
|  |         `,
 | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|     { |     { | ||||||
|       id: LokiOperationId.LineContains, |       id: LokiOperationId.LineContains, | ||||||
|       name: 'Line contains', |       name: 'Line contains', | ||||||
|  |  | ||||||
|  | @ -30,6 +30,7 @@ export enum LokiVisualQueryOperationCategory { | ||||||
| export enum LokiOperationId { | export enum LokiOperationId { | ||||||
|   Json = 'json', |   Json = 'json', | ||||||
|   Logfmt = 'logfmt', |   Logfmt = 'logfmt', | ||||||
|  |   LineFormat = 'line_format', | ||||||
|   Rate = 'rate', |   Rate = 'rate', | ||||||
|   CountOverTime = 'count_over_time', |   CountOverTime = 'count_over_time', | ||||||
|   SumOverTime = 'sum_over_time', |   SumOverTime = 'sum_over_time', | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue