title: Logical bit-wise AND of two boolean instant vectors on PromQL
body: <p>I'm trying to define the E2E access availability of a service from a user PoV as the result of applying the <strong>bit-wise AND operation</strong> between two boolean instant vectors representing individual service availability. </p>
  
  <p>I'm fetching the <code>probe_success</code> results of pinging these two services (e.g. S1 and S2) from a "user node" with the <code>blackbox_exporter</code> preinstalled:</p>
  
  <pre><code>            +-------+     +---------------------+     +-------+
              |S1     |     |                     |     |     S2|
              |       |     |   User node with    |     |       |
              |       +&lt;----+  blackbox_exporter  +----&gt;+       |
              |       | icmp|                     |icmp6|       |
              +-------+     +---------------------+     +-------+
  </code></pre>
  
  <p>Since the targets are probed using different modules (icmp and icmp6) I'm using two jobs and therefore getting two instant vectors:</p>
  
  <pre><code>probe_success{job="S1", user="foo"}
  # AND
  probe_success{job="S2", user="foo"}
  </code></pre>
  
  <p>As I read on <a href="https://prometheus.io/docs/prometheus/latest/querying/operators/#logical-set-binary-operators" rel="nofollow noreferrer">Prometheus (querying) logical operators docs</a>, that logical <code>and</code> is not exactly what I'm looking for. ¿Is there an easy way to perform these kind of "bit-wise" operations in PromQL?</p>