File: //opt/netdata/netdata-web-files/v3/3837.ff75612bc0a45d075e4f.chunk.js
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"b06348a4787b660201b18f5fa878e4faccd4b679"};var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="11c510a7-52e5-4203-9630-1b278dacab93",e._sentryDebugIdIdentifier="sentry-dbid-11c510a7-52e5-4203-9630-1b278dacab93")}catch(e){}}(),(globalThis.webpackChunkcloud_frontend=globalThis.webpackChunkcloud_frontend||[]).push([[3837],{69531(e,t,s){s.d(t,{d:()=>c});s(98992),s(3949),s(71517),s(11379),s(93777),s(14190),s(12359),s(86097),s(17273),s(27415),s(19929),s(37583),s(55122),s(20230),s(57268),s(79733);const r=(e,t)=>{const s=`${e||""}`.trim().toLowerCase();return s||(`${t||""}`.trim().toLowerCase()||"link")},a=e=>{let t="",s=-1;return e.forEach((e,r)=>{(e>s||e===s&&r<t)&&(t=r,s=e)}),t},o=e=>{const t=e.in>0,s=e.out>0;return t&&s?"bidirectional":s?"out":t?"in":e.other>0?"other":""},n=(e,t)=>{t&&e.set(t,(e.get(t)||0)+1)},i=(e,t,s)=>{const r=(e=>{const t=`${e||""}`.trim().toLowerCase();return"in"===t||"inbound"===t||"rx"===t?"in":"out"===t||"outbound"===t||"tx"===t?"out":t.startsWith("bi")?"bi":"other"})(t),a=s?(e=>"in"===e?"out":"out"===e?"in":e)(r):r;if("bi"===a)return e.in+=1,void(e.out+=1);e[a]+=1},c=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const t=new Map;for(const a of e){if(!a)continue;const e=a.source,s=a.target;if(!e||!s)continue;const o=r(a.linkType||a.link_type,a.protocol),c=`${e}|${s}|${o}`,d=`${s}|${e}|${o}`,l=!t.has(c)&&t.has(d),u=l?d:c;let m=t.get(u);m||(m={id:`agg:${u}`,source:e,target:s,linkType:o,label:a.label||"",sourcePort:l?a.targetPort:a.sourcePort,targetPort:l?a.sourcePort:a.targetPort,count:0,weight:0,metricBytes:0,metricPackets:0,metricFlows:0,directions:{in:0,out:0,other:0},protocols:new Map,states:new Map,firstSeen:null,lastSeen:null},t.set(u,m)),m.count+=1,m.weight+=Number(a.weight)||0,m.metricBytes+=Number(a.metricBytes)||0,m.metricPackets+=Number(a.metricPackets)||0,m.metricFlows+=Number(a.metricFlows)||0,i(m.directions,a.direction,l),n(m.protocols,`${a.protocol||""}`.trim()),n(m.states,`${a.state||""}`.trim());const p=a.firstSeen||a.discoveredAt||a.discovered_at||null;p&&(!m.firstSeen||p<m.firstSeen)&&(m.firstSeen=p);const y=a.lastSeen||a.last_seen||null;y&&(!m.lastSeen||y>m.lastSeen)&&(m.lastSeen=y)}const s=[];return t.forEach(e=>{const t=a(e.protocols),r=a(e.states);s.push({...e,protocol:t,state:r,direction:o(e.directions)})}),s}},17467(e,t,s){s.d(t,{n:()=>_});s(33110),s(98992),s(54520),s(72577),s(3949),s(81454),s(71517),s(11379),s(93777),s(14190),s(12359),s(86097),s(17273),s(27415),s(19929),s(37583),s(55122),s(20230),s(57268),s(79733),s(25509),s(65223),s(60321),s(41927),s(11632),s(64377),s(66771),s(12516),s(68931),s(52514),s(35694),s(52774),s(49536),s(21926),s(94483),s(16215);const r=e=>null===e||"undefined"===typeof e?"-":Array.isArray(e)?e.map(r).join(", "):"object"===typeof e?JSON.stringify(e):`${e}`,a=e=>Array.isArray(e)&&e.find(e=>"string"===typeof e&&e.length)||"",o=function(e){if(e&&"object"===typeof e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];for(const t of s)if(Object.prototype.hasOwnProperty.call(e,t)&&null!==e[t])return e[t]}},n=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];const a=o(e,...s);return"string"===typeof a?a:""},i=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];const a=o(e,...s);return Array.isArray(a)?a:[]},c=e=>[...new Set(i(e||{},"management_addresses","managementAddresses").map(e=>"string"===typeof e?e.trim():e&&"object"===typeof e?`${e.address||e.ip||""}`.trim():"").filter(Boolean))].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:"base",numeric:!0})),d=e=>{const t=e?.attributes||{},s=n(t,"port_name","portName","if_name","ifName","port_id","portId").trim();if(s)return s;const r=o(t,"port");return"number"===typeof r&&Number.isFinite(r)&&r>0?`${Math.round(r)}`:"string"===typeof r&&r.trim()?r.trim():""},l=e=>{if(!e||"object"!==typeof e)return"";const t=e?.attributes||{},s=e?.labels||{},r=e?.match||{},o=a(i(r,"hostnames")),c=a(i(r,"ipAddresses","ip_addresses")),d=a(i(r,"macAddresses","mac_addresses"));return n(t,"display_name","displayName").trim()||n(s,"display_name","displayName").trim()||n(s,"hostname","process","name").trim()||n(t,"hostname","process","agent_name","name").trim()||n(r,"sysName","sys_name","netdataMachineGuid","netdata_machine_guid").trim()||o||c||d||""},u=e=>{const t=e?.attributes||{},s=n(t,"management_ip","managementIp");if(s)return s;const r=c(t);return r.length?r[0]:a(i(e?.match||{},"ipAddresses","ip_addresses"))},m=e=>{const t=e?.attributes||{},s=e?.match||{};return n(t,"sys_name","sysName")||n(s,"sysName","sys_name")||a(i(s,"hostnames"))},p=e=>`${l(e)||""}|${d(e)}`,y=e=>[e?.layer||"",e?.protocol||"",e?.direction||"",p(e?.src),p(e?.dst),d(e?.src),d(e?.dst)].join("|"),h=e=>{if(!e||"object"!==typeof e)return[];const t=[],s=n(e,"netdataMachineGuid","netdata_machine_guid");s&&t.push(`mg:${s}`);const r=n(e,"netdataNodeId","netdata_node_id");r&&t.push(`nd:${r}`),i(e,"ipAddresses","ip_addresses").forEach(e=>{e&&t.push(`ip:${e}`)}),i(e,"hostnames").forEach(e=>{e&&t.push(`hn:${e.toLowerCase()}`)}),i(e,"chassisIds","chassis_ids").forEach(e=>{e&&t.push(`ch:${`${e}`.toLowerCase()}`)}),i(e,"macAddresses","mac_addresses").forEach(e=>{e&&t.push(`mac:${`${e}`.toLowerCase()}`)});const a=n(e,"sysName","sys_name");return a&&t.push(`sys:${a.toLowerCase()}`),[...new Set(t)]},f=(e,t)=>l(e)||`${t}:[unset]`,b=(e,t)=>{if(!t.has(e))return t.add(e),e;let s=2,r=`${e}#${s}`;for(;t.has(r);)s+=1,r=`${e}#${s}`;return t.add(r),r},g=e=>{if(!e.length)return{};const t={},s=new Set(["port","metricBytes","metricPackets","metricFlows"]);return Object.keys(e[0]).filter(e=>"_raw"!==e).forEach((e,r)=>{t[e]={id:e,index:r,name:e,visible:!0,sort:"descending",sortable:!0,sticky:"id"===e,type:s.has(e)?"value":"string",filter:!1}}),t},$=e=>{const t=`${e||""}`.trim();return t&&"-"!==t?t:"unknown"},_=e=>{const t=Array.isArray(e?.actors)?e.actors:[],s=Array.isArray(e?.links)?e.links:[],a=new Set,p=new Map,_=new Map,w=new Map,A=[],v=[];t.forEach((t,s)=>{const d=t?.match||{},u=t?.actorType||t?.actor_type||"unknown",m=t?.attributes||{},y=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];const a=o(e,...s);if("boolean"===typeof a)return a;if("number"===typeof a)return 0!==a;if("string"===typeof a)switch(a.trim().toLowerCase()){case"1":case"true":case"yes":case"on":return!0;default:return!1}return!1}(m,"inferred"),f=i(d,"hostnames"),g=i(d,"ipAddresses","ip_addresses"),$=i(d,"chassisIds","chassis_ids"),w=i(d,"macAddresses","mac_addresses"),k=n(d,"netdataMachineGuid","netdata_machine_guid"),I=n(d,"netdataNodeId","netdata_node_id"),N=`${u}-${s+1}`,P=l(t)||N,S=n(t,"actor_id","actorId").trim();let C="";if(S){if(a.has(S))return;a.add(S),C=S}else C=b(`${u}:missing:${N}`,a);p.set(C,P),h(d).forEach(e=>{_.has(e)||_.set(e,C)}),A.push({id:C,label:P,actorType:u,inferred:y,source:t?.source||e?.source||"",layer:t?.layer||e?.layer||"",streamingPath:t?.streamingPath||t?.streaming_path||null,receivedNodes:t?.receivedNodes||t?.received_nodes||null,details:{labels:t?.labels||{},match:d,attributes:m,tables:t?.tables||{}}}),v.push({id:C,actorType:u,inferred:y,layer:t?.layer||e?.layer||"",source:t?.source||e?.source||"",primary:P,machineGuid:k,nodeId:I,hostnames:r(f),ipAddresses:r([...new Set([...g,...c(m)])]),macAddresses:r(w),chassisIds:r($),labels:r(t?.labels||{}),attributes:r(m),_raw:t})});const k=function(t,s){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";const c=t?.match||{},l=f(t,s),y=h(c);for(const e of y){const t=_.get(e);if(t&&p.has(t))return{id:t,label:p.get(t)||l}}const g=o||(y.length?`match:${y[0]}`:`fallback:${s}|${l}|${d(t)}|${u(t)}|${m(t)}`),$=w.get(g);if($&&p.has($))return{id:$,label:p.get($)||l};const k=b(`${s}:endpoint:${g}`,a);return w.set(g,k),y.forEach(e=>{_.has(e)||_.set(e,k)}),A.push({id:k,label:l,actorType:`${s}-endpoint`,inferred:!1,source:e?.source||"",layer:e?.layer||"",details:{labels:t?.labels||{},match:c,attributes:t?.attributes||{}}}),p.set(k,l),v.push({id:k,actorType:`${s}-endpoint`,inferred:!1,layer:e?.layer||"",source:e?.source||"",primary:l,machineGuid:n(c,"netdataMachineGuid","netdata_machine_guid"),nodeId:n(c,"netdataNodeId","netdata_node_id"),hostnames:r(i(c,"hostnames")),ipAddresses:r(i(c,"ipAddresses","ip_addresses")),macAddresses:r(i(c,"macAddresses","mac_addresses")),chassisIds:r(i(c,"chassisIds","chassis_ids")),labels:r(t?.labels||{}),attributes:r(t?.attributes||{}),_raw:t}),{id:k,label:l}},I=[],N=[...s].sort((e,t)=>y(e).localeCompare(y(t))).map(t=>{const s=n(t,"srcActorId","src_actor_id").trim(),o=n(t,"dstActorId","dst_actor_id").trim(),i=(e,t,s)=>s&&p.has(s)?{id:s,label:p.get(s)||f(e,t)}:s?k(e,t,`actor-id:${s}`):k(e,t),c=i(t?.src,"src",s),l=i(t?.dst,"dst",o),y=d(t?.src),h=d(t?.dst),g=u(t?.src),_=u(t?.dst),w=m(t?.src),A=m(t?.dst),v=[c.id,l.id,t?.layer||"",t?.protocol||"",t?.direction||"",y,h,g,_,w,A].join("|"),N=b(`link:${v}`,a),P=t?.metrics||{},S=n(P,"display_name","displayName").trim()||"";return I.push({id:N,src:c.label,dst:l.label,fromDevice:c.label,fromPort:y||"-",fromManagementIp:g||"-",toDevice:l.label,toPort:h||"-",toManagementIp:_||"-",srcId:c.id,dstId:l.id,layer:t?.layer||e?.layer||"",protocol:t?.protocol||"",direction:t?.direction||"",state:t?.state||"",discoveredAt:t?.discoveredAt||t?.discovered_at||"",lastSeen:t?.lastSeen||t?.last_seen||"",metricBytes:Number(P.bytes||P.bytesData||P.bytes_data||0),metricPackets:Number(P.packets||0),metricFlows:Number(P.flows||P.connections||0),labels:r(t?.labels||{}),metrics:r(P),_raw:t}),{id:N,source:c.id,target:l.id,sourcePort:$(y),targetPort:$(h),protocol:t?.protocol||"",linkType:t?.link_type||t?.linkType||"",direction:t?.direction||"",label:S,weight:Number(P.bytes||P.bytesData||P.bytes_data||P.flows||P.connections||1),details:{state:t?.state||"",labels:t?.labels||{},metrics:P,src:t?.src||{},dst:t?.dst||{}}}}),P=Array.from(new Map(v.map(e=>[e.id,e])).values()).sort((e,t)=>`${e.primary}|${e.id}`.localeCompare(`${t.primary}|${t.id}`)),S=[...A].sort((e,t)=>`${e.label}|${e.id}`.localeCompare(`${t.label}|${t.id}`)),C=[...I].sort((e,t)=>`${e.fromDevice}|${e.toDevice}|${e.fromPort}|${e.toPort}|${e.protocol}`.localeCompare(`${t.fromDevice}|${t.toDevice}|${t.fromPort}|${t.toPort}|${t.protocol}`));return{topologyActorRows:P,topologyLinkRows:C,topologyGraph:{nodes:S,links:[...N].sort((e,t)=>`${e.source}|${e.target}|${e.label}`.localeCompare(`${t.source}|${t.target}|${t.label}`))},topologyMeta:{layer:e?.layer||"",source:e?.source||"",collectedAt:e?.collectedAt||e?.collected_at||"",stats:e?.stats||{},schemaVersion:e?.schemaVersion||e?.schema_version||"",agentId:e?.agentId||e?.agent_id||""},topologyColumns:g(C)}}}}]);