# Kapacitor stream processing multiple fields

**URL:** <https://community.influxdata.com/t/kapacitor-stream-processing-multiple-fields/3240>\
**Category:** Kapacitor\
**Tags:** kapacitor\
**Created:** [November 29, 2017, 2:02pm UTC](https://community.influxdata.com/t/kapacitor-stream-processing-multiple-fields/3240 "2017-11-29T14:02:35Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![mantzas](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/mantzas/32/1656_2.png) [@mantzas](https://community.influxdata.com/u/mantzas)\
**Post date:** [November 30, 2017, 4:52pm UTC](https://community.influxdata.com/t/kapacitor-stream-processing-multiple-fields/3240/8 "2017-11-30T16:52:16Z")

</div>

after watching today’s webinar about advanced kapacitor the problem is solved the following way:

```
var period = 1s
var interval = 1s

var data = stream
|from()
    .database('db')
    .retentionPolicy('autogen')
    .measurement('ms1')
    .groupBy(*)
|window()
.period(period)
.every(interval)

var diff = data |eval(lambda: "latency1" - "latency2")
           .as('latency_diff')        
          |mean('latency_diff')
          .as('latency_diff')

var latency1 = data | mean('latency1')
                .as('value')

var latency2 = data|mean('latency2')
                .as('value')

diff 
| join(latency1,latency2)
        .as('lat1', 'lat2')
|influxDBOut()
    .database('db_cold')
    .retentionPolicy('autogen')
    .measurement('ms1')
    .precision('s')

```

thanks to Michael DeSa

---

_[View the full topic](https://community.influxdata.com/t/kapacitor-stream-processing-multiple-fields/3240)._
