# setReportingCriteria
Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_set_reporting_criteria.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_set_reporting_criteria.html)
Sets the session's reporting criteria (periodic or threshold).
setReportingCriteria()Copy to clipboard
If the client must switch from one reporting type to another, send a [RESET](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_enum_reporting_action.html) action using [performReportingAction](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_perform_reporting_action.html).
Threshold-based reporting can set independent values per each access network. When new thresholds are sent for the same access network, existing thresholds for that access network are overwritten. Report generation starts on the first call to [setReportingCriteria](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_set_reporting_criteria.html).
In periodic reporting, the report measured at the end of the period is reported to the
application.
## Parameters
| Parameter | API type | Data type | Description |
| --- | --- | --- | --- |
| hysteresisMs | Java | long | A hysteresis time in milliseconds to prevent flapping during threshold reporting.
A 0 value uses the default modem hysteresis value.
For periodic reporting, set this value to 0. |
| hysteresisMs | Native | uint32\_t | A hysteresis time in milliseconds to prevent flapping during threshold reporting.
A 0 value uses the default modem hysteresis value.
For periodic reporting, set this value to 0. |
| thresholdsDownlinkKbps | Java | ArrayList<Long> | A vector of trigger thresholds in kbps for downlink reports.
For periodic reporting, this must be an empty vector. |
| thresholdsDownlinkKbps | Native | vector<uint32\_t> | A vector of trigger thresholds in kbps for downlink reports.
For periodic reporting, this must be an empty vector. |
| thresholdsUplinkKbps | Java | ArrayList<Long> | A vector of trigger thresholds in kbps for uplink reports.
For periodic reporting, this must be an empty vector. |
| thresholdsUplinkKbps | Native | vector<uint32\_t> | A vector of trigger thresholds in kbps for uplink reports.
For periodic reporting, this must be an empty vector. |
| [accessNetwork](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_enum_access_network_type.html) | Java | accessNetworkType | A vector of trigger thresholds in kbps for uplink reports.
For periodic reporting, this must be an empty vector. |
| [accessNetwork](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_enum_access_network_type.html) | Native | lce\_accessNetworkType | A vector of trigger thresholds in kbps for uplink reports.
For periodic reporting, this must be an empty vector. |
| ReportingPeriod | Java | long | Time in milliseconds. Period at which the uplink throughput information is
calculated.
For threshold-based reporting, set this value to 0. |
| ReportingPeriod | Native | uint32\_t | Time in milliseconds. Period at which the uplink throughput information is
calculated.
For threshold-based reporting, set this value to 0. |
| [cb](https://docs.qualcomm.com/doc/80-PK177-134/topic/lce_iasync_result.html) | Java | IasyncResult | `IasyncResult` callback that provides the success or failure
status, and error string.
Possible returns are as follows: