1"use strict";(self.webpackChunkig_website=self.webpackChunkig_website||[]).push([[8830],{30990:(e,s,t)=>{t.r(s),t.d(s,{default:()=>x});t(96540);var a=t(51219),n=t(14783),r=t(56347),i=t(66188),l=t(37107),c=(t(56402),t(46784)),o=t(34164);const d={section:"section_cNPP",container:"container_VWnt",heading:"heading_un9H",eyebrow:"eyebrow_x3Yx",search:"search_vFUH",content:"content_hSSt",facets:"facets_kmJC",filterHeader:"filterHeader_ZnO9",empty:"empty_rkkx",facet:"facet_QxQs",facetOption:"facetOption_h5fq",facetOptionDisabled:"facetOptionDisabled_R7Mh",count:"count_l0_O",results:"results_wwNU",resultsHeader:"resultsHeader_zNpj",activeFilters:"activeFilters_UgjX",cards:"cards_c7qC",card:"card__zv8",cardIcon:"cardIcon_iv74",cardContent:"cardContent_j6ZY",description:"description_lysm",metadata:"metadata_f4h2",gadget:"gadget_jGzD"};var h=t(74848);l.$W.autoAddCss=!1;const m={globe:i.Bwz,memory:i.HqV,bolt:i.zm_,"hard-drive":i.TmA,route:i.TBz,"file-shield":i.JX9},p=[{key:"platforms",label:"Platform",param:"platform",options:{kubernetes:"Kubernetes",linux:"Linux"}},{key:"signals",label:"Signal",param:"signal",options:{events:"Events",metrics:"Metrics",profiles:"Profiles"}},{key:"integrations",label:"Integration",param:"integration",options:{cli:"CLI",opentelemetry:"OpenTelemetry",prometheus:"Prometheus",pyroscope:"Pyroscope"}},{key:"domains",label:"Domain",param:"domain",options:{networking:"Networking",performance:"Performance",security:"Security",reliability:"Reliability"}},{key:"methods",label:"Method",param:"method",options:{trace:"Trace",profile:"Profile",top:"Top",audit:"Audit",advise:"Advise"}}];function u(e,s){const t=Object.keys(s.options);return(e.get(s.param)??"").split(",").filter((e=>t.includes(e)))}function g(e,s){if(!s)return!0;return[e.title,e.description,e.gadget,...e.platforms,...e.signals,...e.integrations,...e.domains,...e.methods].join(" ").toLowerCase().includes(s.toLowerCase())}function f(e,s,t){return p.every((a=>a.key===t||0===s[a.key].length||s[a.key].some((s=>e[a.key].includes(s)))))}function j(e){let{useCases:s}=e;const t=(0,r.W6)(),a=(0,r.zy)(),l=new URLSearchParams(a.search),j=l.get("q")??"",x=Object.fromEntries(p.map((e=>[e.key,u(l,e)]))),b=e=>{const s=e.toString();t.replace(`${a.pathname}${s?`?${s}`:""}${a.hash}`)},y=(e,s)=>{const t=new URLSearchParams(a.search),n=u(t,e),r=n.includes(s)?n.filter((e=>e!==s)):[...n,s];r.length>0?t.set(e.param,r.join(",")):t.delete(e.param),b(t)},k=()=>b(new URLSearchParams),v=s.filter((e=>g(e,j)&&f(e,x))),N=p.flatMap((e=>x[e.key].map((s=>({facet:e,label:e.options[s],value:s})))));return(0,h.jsx)("section",{className:d.section,children:(0,h.jsxs)("div",{className:d.container,children:[(0,h.jsxs)("div",{className:d.heading,children:[(0,h.jsx)("span",{className:d.eyebrow,children:"Use cases"}),(0,h.jsx)("h1",{children:"Using Inspektor Gadget"}),(0,h.jsx)("p",{children:"Explore how to use Gadgets for real-time debugging, export their signals to observability systems, or run them continuously for later analysis. Use the filters to find examples by platform, signal, integration, domain, or inspection method."})]}),0===s.length?(0,h.jsxs)("div",{className:d.empty,children:[(0,h.jsx)("h2",{children:"No use cases published"}),(0,h.jsx)("p",{children:"Use cases will be listed here when they are available."})]}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)("div",{className:d.search,children:[(0,h.jsx)(c.g,{icon:i.MjD}),(0,h.jsx)("input",{"aria-label":"Search",onChange:e=>(e=>{const s=new URLSearchParams(a.search);e?s.set("q",e):s.delete("q"),b(s)})(e.target.value),placeholder:"Search use cases",type:"search",value:j})]}),(0,h.jsxs)("div",{className:d.content,children:[(0,h.jsxs)("aside",{className:d.facets,"aria-label":"Filters",children:[(0,h.jsxs)("div",{className:d.filterHeader,children:[(0,h.jsx)("strong",{children:"Filter by"}),(N.length>0||j)&&(0,h.jsx)("button",{onClick:k,type:"button",children:"Clear all"})]}),p.map((e=>(0,h.jsxs)("fieldset",{className:d.facet,children:[(0,h.jsx)("legend",{children:e.label}),Object.entries(e.options).map((t=>{let[a,n]=t;const r=s.filter((s=>g(s,j)&&f(s,x,e.key)&&s[e.key].includes(a))).length,i=x[e.key].includes(a);return(0,h.jsxs)("label",{className:(0,o.A)(d.facetOption,{[d.facetOptionDisabled]:0===r&&!i}),children:[(0,h.jsx)("input",{checked:i,disabled:0===r&&!i,onChange:()=>y(e,a),type:"checkbox"}),(0,h.jsx)("span",{children:n}),(0,h.jsx)("span",{className:d.count,children:r})]},a)}))]},e.key)))]}),(0,h.jsxs)("div",{className:d.results,children:[(0,h.jsxs)("div",{className:d.resultsHeader,children:[(0,h.jsxs)("strong",{children:[v.length," ",1===v.length?"result":"results"]}),N.length>0&&(0,h.jsx)("div",{className:d.activeFilters,children:N.map((e=>{let{facet:s,label:t,value:a}=e;return(0,h.jsxs)("button",{onClick:()=>y(s,a),type:"button",children:[t,(0,h.jsx)(c.g,{icon:i.GRI})]},`${s.key}-${a}`)}))})]}),v.length>0?(0,h.jsx)("div",{className:d.cards,children:v.map((e=>(0,h.jsxs)(n.A,{className:(0,o.A)("card",d.card),to:e.permalink,children:[(0,h.jsx)(c.g,{className:d.cardIcon,icon:m[e.icon]}),(0,h.jsxs)("span",{className:d.cardContent,children:[(0,h.jsx)("strong",{children:e.title}),(0,h.jsx)("span",{className:d.description,children:e.description}),(0,h.jsx)("span",{className:d.metadata,children:[...e.platforms,...e.integrations].map((e=>(0,h.jsx)("span",{children:e},e)))}),(0,h.jsxs)("span",{className:d.gadget,children:["View use case",(0,h.jsx)(c.g,{icon:i.dmS})]})]})]},e.permalink)))}):(0,h.jsxs)("div",{className:d.empty,children:[(0,h.jsx)("h2",{children:"No matching use cases"}),(0,h.jsx)("p",{children:"Remove a filter or change the search term."}),(0,h.jsx)("button",{onClick:k,type:"button",children:"Clear all filters"})]})]})]})]})]})})}function x(e){let{items:s,metadata:t}=e;const n=s.filter((e=>{let{content:s}=e;return!s.frontMatter.placeholder})).map((e=>{let{content:s}=e;const t=s.frontMatter;
1return{order:t.order,title:s.metadata.title,description:s.metadata.description,permalink:s.metadata.permalink,gadget:t.gadget,icon:t.icon,platforms:t.platforms,signals:t.signals,integrations:t.integrations,domains:t.domains,methods:t.methods}})).sort(((e,s)=>e.order-s.order));return(0,h.jsx)(a.A,{title:t.blogTitle,description:t.blogDescription,children:(0,h.jsx)("main",{children:(0,h.jsx)(j,{useCases:n})})})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.