Merge branch 'develop' into release/v0.36.1

This commit is contained in:
Prashant Shahi 2023-12-29 19:06:53 +05:45
commit 9ac22fcb10
6 changed files with 30 additions and 11 deletions

View File

@ -1,7 +1,7 @@
import styled from 'styled-components'; import styled from 'styled-components';
export const WrapperStyled = styled.div` export const WrapperStyled = styled.div`
height: 100%; height: 95%;
overflow: hidden; overflow: hidden;
& .ant-table-wrapper { & .ant-table-wrapper {

View File

@ -12,9 +12,9 @@ export const Container = styled(Card)<Props>`
} }
.ant-card-body { .ant-card-body {
padding: 8px; padding: ${({ $panelType }): string =>
$panelType === PANEL_TYPES.TABLE ? '0 0' : '1.5rem 0'};
height: 57vh; height: 57vh;
overflow: auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }

View File

@ -27,6 +27,10 @@ import CustomColor from './CustomColor';
import ShowCaseValue from './ShowCaseValue'; import ShowCaseValue from './ShowCaseValue';
import { ThresholdProps } from './types'; import { ThresholdProps } from './types';
const wrapStyle = {
flexWrap: 'wrap',
} as React.CSSProperties;
function Threshold({ function Threshold({
index, index,
thresholdOperator = '>', thresholdOperator = '>',
@ -220,7 +224,7 @@ function Threshold({
} }
> >
{selectedGraph === PANEL_TYPES.TIME_SERIES && ( {selectedGraph === PANEL_TYPES.TIME_SERIES && (
<> <Space style={wrapStyle}>
<Typography.Text>Label</Typography.Text> <Typography.Text>Label</Typography.Text>
{isEditMode ? ( {isEditMode ? (
<Input <Input
@ -232,7 +236,7 @@ function Threshold({
) : ( ) : (
<ShowCaseValue width="180px" value={label || 'none'} /> <ShowCaseValue width="180px" value={label || 'none'} />
)} )}
</> </Space>
)} )}
{(selectedGraph === PANEL_TYPES.VALUE || {(selectedGraph === PANEL_TYPES.VALUE ||
selectedGraph === PANEL_TYPES.TABLE) && ( selectedGraph === PANEL_TYPES.TABLE) && (
@ -243,7 +247,7 @@ function Threshold({
{isEditMode ? ( {isEditMode ? (
<> <>
{selectedGraph === PANEL_TYPES.TABLE && ( {selectedGraph === PANEL_TYPES.TABLE && (
<Space> <Space style={wrapStyle}>
<Select <Select
style={{ style={{
minWidth: '150px', minWidth: '150px',
@ -270,7 +274,7 @@ function Threshold({
) : ( ) : (
<> <>
{selectedGraph === PANEL_TYPES.TABLE && ( {selectedGraph === PANEL_TYPES.TABLE && (
<Space> <Space style={wrapStyle}>
<ShowCaseValue width="150px" value={tableSelectedOption} /> <ShowCaseValue width="150px" value={tableSelectedOption} />
<Typography.Text>is</Typography.Text> <Typography.Text>is</Typography.Text>
</Space> </Space>
@ -283,7 +287,7 @@ function Threshold({
</Space> </Space>
</div> </div>
<div className="threshold-units-selector"> <div className="threshold-units-selector">
<Space> <Space style={wrapStyle}>
{isEditMode ? ( {isEditMode ? (
<InputNumber <InputNumber
style={{ backgroundColor }} style={{ backgroundColor }}
@ -311,7 +315,7 @@ function Threshold({
<div> <div>
<Space direction="vertical"> <Space direction="vertical">
<Typography.Text>Show with</Typography.Text> <Typography.Text>Show with</Typography.Text>
<Space> <Space style={wrapStyle}>
{isEditMode ? ( {isEditMode ? (
<> <>
<ColorSelector setColor={setColor} thresholdColor={color} /> <ColorSelector setColor={setColor} thresholdColor={color} />

View File

@ -352,6 +352,13 @@ type logFieldsInExprExtractor struct {
func (v *logFieldsInExprExtractor) Visit(node *ast.Node) { func (v *logFieldsInExprExtractor) Visit(node *ast.Node) {
if n, ok := (*node).(*ast.MemberNode); ok { if n, ok := (*node).(*ast.MemberNode); ok {
memberRef := n.String() memberRef := n.String()
// coalesce ops end up as MemberNode right now for some reason.
// ignore such member nodes.
if strings.Contains(memberRef, "??") {
return
}
if strings.HasPrefix(memberRef, "attributes") || strings.HasPrefix(memberRef, "resource") { if strings.HasPrefix(memberRef, "attributes") || strings.HasPrefix(memberRef, "resource") {
v.referencedFields = append(v.referencedFields, memberRef) v.referencedFields = append(v.referencedFields, memberRef)
} }

View File

@ -698,6 +698,13 @@ func TestMembershipOpInProcessorFieldExpressions(t *testing.T) {
Name: "add3", Name: "add3",
Field: `attributes["attrs.test.value"]`, Field: `attributes["attrs.test.value"]`,
Value: `EXPR(attributes.test?.value)`, Value: `EXPR(attributes.test?.value)`,
}, {
ID: "add4",
Type: "add",
Enabled: true,
Name: "add4",
Field: `attributes["attrs.test.value"]`,
Value: `EXPR((attributes.temp?.request_context?.scraper ?? [nil])[0])`,
}, },
}, },
} }

View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"context" "context"
"crypto/sha256" "crypto/sha256"
"fmt"
"sync" "sync"
"time" "time"
@ -276,8 +277,8 @@ func (agent *Agent) processStatusUpdate(
func (agent *Agent) updateRemoteConfig(configProvider AgentConfigProvider) bool { func (agent *Agent) updateRemoteConfig(configProvider AgentConfigProvider) bool {
recommendedConfig, confId, err := configProvider.RecommendAgentConfig([]byte(agent.EffectiveConfig)) recommendedConfig, confId, err := configProvider.RecommendAgentConfig([]byte(agent.EffectiveConfig))
if err != nil { if err != nil {
zap.S().Errorf("could not generate config recommendation for agent %d: %w", agent.ID, err) // The server must always recommend a config.
return false panic(fmt.Errorf("could not generate config recommendation for agent %s: %w", agent.ID, err))
} }
cfg := protobufs.AgentRemoteConfig{ cfg := protobufs.AgentRemoteConfig{