diff --git a/src/components/Assets/AssetTypeList/index.tsx b/src/components/Assets/AssetTypeList/index.tsx
index 8fd000e14..7b0b7e641 100644
--- a/src/components/Assets/AssetTypeList/index.tsx
+++ b/src/components/Assets/AssetTypeList/index.tsx
@@ -202,6 +202,10 @@ export const AssetTypeList = (props: AssetTypeListProps) => {
return ;
}
+ if (config.scope !== null) {
+ return ;
+ }
+
return ;
}
diff --git a/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx b/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx
index 83f320d40..775a93f57 100644
--- a/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx
+++ b/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx
@@ -34,3 +34,9 @@ export const NoSearchResults: Story = {
type: "noSearchResults"
}
};
+
+export const NoDataForAssetResults: Story = {
+ args: {
+ type: "noDataForAsset"
+ }
+};
diff --git a/src/components/Assets/NoDataMessage/index.tsx b/src/components/Assets/NoDataMessage/index.tsx
index 8653ad722..67e7be68c 100644
--- a/src/components/Assets/NoDataMessage/index.tsx
+++ b/src/components/Assets/NoDataMessage/index.tsx
@@ -43,6 +43,22 @@ export const NoDataMessage = (props: NoDataMessageProps) => {
/>
);
break;
+ case "noDataForAsset":
+ content = (
+
+
+ No child assets found for the current scope. Add more
+ observability to track internal functions not currently tracked.
+
+ >
+ }
+ />
+ );
+ break;
case "noSearchResults":
content = (
http://localhost:5050
otlp
none
+ none
\${pom.artifactId}
+ grpc>
\${env.TMPDIR}/temp-digma-otel-jars/digma-otel-agent-extension.jar
@@ -65,6 +67,8 @@ export const runDigmaWithCommandLine: PageContent = {
systemProperty 'otel.exporter.otlp.traces.endpoint', 'http://localhost:5050'
systemProperty 'otel.traces.exporter', 'otlp'
systemProperty 'otel.metrics.exporter', 'none'
+ systemProperty 'otel.logs.exporter', 'none'
+ systemProperty 'otel.exporter.otlp.protocol', 'grpc'
systemProperty 'otel.service.name', "\${project.name}"
systemProperty 'otel.javaagent.extensions', "\${tempDir}/temp-digma-otel-jars/digma-otel-agent-extension.jar"
}
@@ -83,6 +87,8 @@ export const runDigmaWithCommandLine: PageContent = {
systemProperty("otel.exporter.otlp.traces.endpoint", "http://localhost:5050")
systemProperty("otel.traces.exporter", "otlp")
systemProperty("otel.metrics.exporter", "none")
+ systemProperty("otel.logs.exporter", "none")
+ systemProperty("otel.exporter.otlp.protocol", "grpc")
systemProperty("otel.service.name", project.name)
systemProperty("otel.javaagent.extensions", "\${tempDir}/temp-digma-otel-jars/digma-otel-agent-extension.jar")
}
@@ -102,15 +108,16 @@ export const runDigmaWithCommandLine: PageContent = {
application name:
>
diff --git a/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx b/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx
index 24dd71e02..92ac1e3b4 100644
--- a/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx
+++ b/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx
@@ -22,7 +22,7 @@ export const runDigmaWithDocker: PageContent = {
),
content: (
{
const config = useContext(ConfigContext);
const previousConfig = usePrevious(config);
const previousScope = usePrevious(config.scope?.span);
+ const refreshData = useCallback(
+ () =>
+ props.onQueryChange({
+ page,
+ sorting,
+ searchQuery: debouncedSearchInputValue
+ }),
+ [page, sorting, debouncedSearchInputValue, props]
+ );
useEffect(() => {
if (!previousScope || previousScope !== config.scope?.span) {
@@ -51,11 +62,7 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => {
}, [previousConfig, config]);
useEffect(() => {
- props.onQueryChange({
- page,
- sorting,
- searchQuery: debouncedSearchInputValue
- });
+ refreshData();
}, []);
useEffect(() => {
@@ -64,11 +71,7 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => {
(previousSorting && previousSorting !== sorting) ||
previousSearchQuery !== debouncedSearchInputValue
) {
- props.onQueryChange({
- page,
- sorting,
- searchQuery: debouncedSearchInputValue
- });
+ refreshData();
}
}, [
previousSorting,
@@ -77,7 +80,8 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => {
page,
debouncedSearchInputValue,
previousSearchQuery,
- props.onQueryChange
+ props.onQueryChange,
+ refreshData
]);
return (
@@ -108,6 +112,13 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => {
]}
default={defaultQuery.sorting}
/>
+
+ refreshData()}
+ />
+
theme.colors.v3.stroke.dark};
+ color: ${({ theme }) => theme.colors.v3.icon.tertiary};
+
+ &:hover:enabled {
+ color: ${({ theme }) => theme.colors.v3.icon.white};
+ background: none;
+ }
+`;
diff --git a/src/components/common/icons/16px/RefreshIcon.tsx b/src/components/common/icons/16px/RefreshIcon.tsx
new file mode 100644
index 000000000..8b2b3bbf7
--- /dev/null
+++ b/src/components/common/icons/16px/RefreshIcon.tsx
@@ -0,0 +1,23 @@
+import React from "react";
+import { useIconProps } from "../hooks";
+import { IconProps } from "../types";
+
+const RefreshIconComponent = (props: IconProps) => {
+ const { size, color } = useIconProps(props);
+ return (
+
+ );
+};
+
+export const RefreshIcon = React.memo(RefreshIconComponent);