mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-04 13:00:37 +08:00
commit
cf6dc827cc
@ -146,7 +146,7 @@ services:
|
|||||||
condition: on-failure
|
condition: on-failure
|
||||||
|
|
||||||
query-service:
|
query-service:
|
||||||
image: signoz/query-service:0.36.1
|
image: signoz/query-service:0.36.2
|
||||||
command:
|
command:
|
||||||
[
|
[
|
||||||
"-config=/root/config/prometheus.yml",
|
"-config=/root/config/prometheus.yml",
|
||||||
@ -186,7 +186,7 @@ services:
|
|||||||
<<: *db-depend
|
<<: *db-depend
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
image: signoz/frontend:0.36.1
|
image: signoz/frontend:0.36.2
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
|
@ -164,7 +164,7 @@ services:
|
|||||||
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
|
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
|
||||||
|
|
||||||
query-service:
|
query-service:
|
||||||
image: signoz/query-service:${DOCKER_TAG:-0.36.1}
|
image: signoz/query-service:${DOCKER_TAG:-0.36.2}
|
||||||
container_name: signoz-query-service
|
container_name: signoz-query-service
|
||||||
command:
|
command:
|
||||||
[
|
[
|
||||||
@ -203,7 +203,7 @@ services:
|
|||||||
<<: *db-depend
|
<<: *db-depend
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
image: signoz/frontend:${DOCKER_TAG:-0.36.1}
|
image: signoz/frontend:${DOCKER_TAG:-0.36.2}
|
||||||
container_name: signoz-frontend
|
container_name: signoz-frontend
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -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 {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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} />
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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])`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -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{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user