Skip to content

Commit a006b34

Browse files
authored
update signals README (#1254)
1 parent ee838db commit a006b34

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

packages/signals/signals/README.md

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,24 @@ analytics.load({
5555
})
5656

5757
```
58+
### Sending and Viewing Signals on Segment.com (Debug mode)
59+
For privacy reasons, **signals are only to Segment.com when debug mode is on**. You must enable debug mode on the client to send and view those signals on segment.com. To enable debug mode on your client
60+
```
61+
https://my-website.com?segment_signals_debug=true
62+
```
63+
You can *turn off debugging* by doing:
64+
```
65+
https://my-website.com?segment_signals_debug=false
66+
```
67+
68+
* This also logs all signals to the js console.
69+
70+
#### Alternative method(s) of enabling debug mode
71+
### Enable debug mode from your JS console:
72+
```js
73+
window.SegmentSignalsPlugin.debug()
74+
```
75+
5876
### Extending / Emitting Custom Signals
5977
```ts
6078
import { signalsPlugin } from './analytics' // assuming you exported your plugin instance.
@@ -68,25 +86,10 @@ signalsPlugin.addSignal({ someData: 'foo' })
6886
}
6987
```
7088

71-
### Debugging
72-
#### Enable debug mode
73-
Values sent to the signals API are redacted by default.
74-
This adds a local storage key. To disable redaction, add a magic query string:
75-
```
76-
https://my-website.com?segment_signals_debug=true
77-
```
78-
You can *turn off debugging* by doing:
79-
```
80-
https://my-website.com?segment_signals_debug=false
81-
```
89+
### Debugging
90+
Debug mode **MUST** be enabled on the client to VIEW signals on segment.com.
8291

83-
* This also logs all signals to the js console.
8492

85-
#### Alternative method of enabling debug mode
86-
In your JS console:
87-
```js
88-
SegmentSignalsPlugin.debug()
89-
```
9093

9194
### Advanced
9295

@@ -105,19 +108,22 @@ import { SignalsPlugin, SignalsMiddleware } from '@segment/analytics-signals'
105108

106109
class MyMiddleware implements SignalsMiddleware {
107110
process(signal: Signal) {
108-
// drop the event if some conditions are met
111+
// drop all instrumentation signals
109112
if (
110-
signal.type === 'network' &&
111-
signal.data.action === 'request' &&
112-
...
113+
signal.type === 'instrumentation'
113114
) {
114115
return null;
115116
} else {
116117
return signal;
117118
}
118119
}
119120
}
120-
const signalsPlugin = new SignalsPlugin({ middleware: [myMiddleware]})
121+
122+
const signalsPlugin = new SignalsPlugin({
123+
middleware: [
124+
new MyMiddleware()
125+
]
126+
})
121127
analytics.register(signalsPlugin)
122128
```
123129

0 commit comments

Comments
 (0)